-2
私のデータベースの内容3つのテーブル:多対多の関係はなぜ機能しないのですか?
users roles role_user
id | name id | name user_id | role_id
役割モデル:
class Role extends Model
{
// TODO
}
ユーザーモデル:
public function roles(){
return $this->belongsToMany('Role');
}
コントローラー:
public function getUsers(){
$users = User::all();
foreach($users->roles as $item){
dd($item);
}
}
私はメソッドgetUsers()
を呼び出すと、私はエラーを取得する:
Undefined property: Illuminate\Database\Eloquent\Collection::$roles
だから、私はそれは、ユーザーごとにいくつかの値であるかもしれない、ユーザーのすべてのロールを取得する必要があります。 私は間違っていますか?
あなたは、なぜ私の解決策は機能していなかったしてください説明することができます:
あなたはこのような何かをしたいと思いますか?あなたは何を変えましたか? – Dev
そして '$ user-> roles'をテンプレートの中に直接表示するにはどうしたらいいですか? – Dev
Eloquent Collection($ users)には、Userモデルで宣言したメソッド(ロール)がありません。 –