この質問から: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
である場合、単一のuser
は、異なる役割に対して複数の役割を果たすことができます。私は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`)
は、その後、私は自分でエラーのそれとまったく同じSQLを実行してみました、それが働いた:
をなぜそうですか?そして、どこが間違っていたのですか?
これが役立つかどうかを確認する - https://github.com/barryvdh/laravel-translation-manager/issues/144 – ayip
@ayipこれはうまくいきますが、ハックのようです。完全なグループを無効にすることなくそれを行う方法がなければなりません –