1
を使用して、ユーザーによって行われたすべての記事は、私がLaravel:名前フィールド
を次のように雄弁マイUser.phpが関係を持って使用して、ルートURLからユーザーの
name
を照合することによって、ユーザによって行われたすべての記事を取得したい検索
public function user() {
return $this->belongsTo('App\User');
}
私のルートは、次のようなものです::
Route::get('/users/{name}', '[email protected]');
public function posts() {
return $this->hasMany('App\Post');
}
マイPost.phpモデルは次のような関係を持っています
私はこの
public function show($name) {
$user = User::find(1);
$posts = $users->posts()->get();
return view('users.show', compact('posts'));
}
のような何かをする必要があり、ユーザのすべての記事を取得したい場合、私は知っているが、私はいないID
を、データベース内の名前フィールドに基づいてユーザーを見つけたいと私がwhere
をのように使用すると、->posts()
を使用するとエラーになります。
$posts = Post::whereHas('user', function($q) use($name) {
$q->where('name', $name);
})->get();
それともあなたがこれを行うことができます:
User::where('name', $name)->first()->posts()->get();
するか、私はあなたがwhereHas()
を使用することができ雄弁
オハイオ州、私はどこに '最初の' mothodを連鎖する必要があります。それは欠けていた。どうもありがとうございます。 –