LaravelでbelongsToManyでリレーションを設定したのに、リレーション先をViewで表示しようとするとエラーになる場合の対策です。
foreachを使っていない場合は、こちらを使用して修正できることがあります。
User と Role でbelongsToManyのリレーションがあるとします。

Userテーブル一覧の中に、Roleテーブルの中にあるカラムを入れたいとします。
その場合、viewファイルには、下記のようにusersに加え、rolesでもforeachを使ってください。

コントローラーはこのような感じです。
public function users(Request $request){
$users=User::all();
return view('admin.users', compact('users'));
}
Userモデルファイルには、次のようにリレーションを設定しています。
public function roles(){
return $this->belongsToMany('App\Models\Role');
}
トラブル解消を願ってます!


コメント