こんにちは私は2テーブル(ユーザーと投稿)と1対多のrealtionshipを持っています。laravel 5 2つのリレーショナルテーブルからすべての属性を雄弁で取り出します
私は従う
Usersテーブルとしてあるべき雄弁と結果によって1つのクエリ内のすべてのデータをretriveしたい: ID |名前
投稿: id | user_id |タイトル|ボディ
retrivedデータが
名である必要があります|タイトル|ボディ
こんにちは私は2テーブル(ユーザーと投稿)と1対多のrealtionshipを持っています。laravel 5 2つのリレーショナルテーブルからすべての属性を雄弁で取り出します
私は従う
Usersテーブルとしてあるべき雄弁と結果によって1つのクエリ内のすべてのデータをretriveしたい: ID |名前
投稿: id | user_id |タイトル|ボディ
retrivedデータが
名である必要があります|タイトル|ボディ
Eager loadデータ:ビューで
$data = User::with('posts')->get();
:
@foreach ($user->posts as $post)
{{ $post->title }}
@endforeach
あなたはLaravelはDBに一つだけのクエリを作成したい意味ならば、あなたが持つすべての記事を取得することができます。
$posts = Post::where('user_id', $userId)->get();
MySQLで次のクエリを実行してみてください。それは動作するはずです。
select name,title,body from Users,Posts where Users.id=Posts.id group by Users.id
これは宿題のようにひどくたくさんいるようだ。この
User::join("posts","posts.user_id","=","users.id")->get();
をお試しください!そのためには参加が必要で、参加の仕方によってはusers.idとposts.user_idの列を省略することは不可能です。 – devk
はい、しかし、私は雄弁にすることができますどのように雄弁の力を使用する必要があります –
どのようにモデルの結合機能を定義する方法については、1ライナークエリを持つことができます – ariestikto