LaravelでbelongsToManyでリレーションを設定したのに、リレーション先をViewで表示しようとするとエラーになる場合の対策です。
foreachを使っていない場合は、こちらを使用して修正できることがあります。
User と Role でbelongsToManyのリレーションがあるとします。
Userテーブル一覧の中に、Roleテーブルの中にあるカラムを入れたいとします。
その場合、viewファイルには、下記のようにusersに加え、rolesでもforeachを使ってください。
コントローラーはこのような感じです。
1 2 3 4 |
public function users(Request $request){ $users=User::all(); return view('admin.users', compact('users')); } |
Userモデルファイルには、次のようにリレーションを設定しています。
1 2 3 |
public function roles(){ return $this->belongsToMany('App\Models\Role'); } |
トラブル解消を願ってます!