从这个问题:How to GROUP and SUM a pivot table column in Eloquent relationship?Laravel - 雄辩关系belongsToMany GROUPBY“语法错误或访问冲突”错误
我在User
型号使用此代码:
public function teams() {
return $this->belongsToMany('App\Models\Team', 'team_members', 'user_id', 'team_id')
->groupBy('pivot_team_id');
}
我想用->groupBy()
因为在我team
s,单个user
可以充当不同角色的多个team_member
。我不想team
记录重复。
但是当我尝试访问例如我dd(Auth::user()->teams)
网页上的代码,Laravel发生以下异常:
SQLSTATE[42000]: Syntax error or access violation: 1055 'laravel.teams.id' isn't in GROUP BY (SQL: select `teams`.*, `team_members`.`user_id` as `pivot_user_id`, `team_members`.`team_id` as `pivot_team_id` from `teams` inner join `team_members` on `teams`.`id` = `team_members`.`team_id` where `team_members`.`user_id` = 3 group by `pivot_team_id`)
这是为什么呢?我哪里弄错了?
看看这是否有帮助 - https://github.com/barryvdh/laravel-translation-manager/issues/144 – ayip
@ayip现在确实有效,但它看起来像一个黑客攻击。必须有办法做到这一点,而不必禁用整个组 –