usersテーブル
id | user_name | |
---|---|---|
productsテーブル
id | product_name | user_id |
---|---|---|
buyersテーブル
id | buyer_name | |
---|---|---|
ordersテーブル
id | buyer_id | product_id |
---|---|---|
usersとproductsは1対多の関係
buyersとproductsは多対多の関係。
あるユーザーが出品したproductの中から、売れた商品(ordersテーブルのproduct_idにある)
を取得したいのですが、方法がわかりません。
試したこと↓
$user = User::where('id', $id)->first(); //ユーザー情報取得 $products= $user->products->all(); //ユーザーが出品した商品の中から、ordersテーブルにあるものを取得 foreach ($products as $product) { $id = $product->id; } $user = DB::table('orders')->where('product_id', $id)->get(); idをもとにordersテーブルから値を取得
上記を試したが何の値もかえってきません。
何か良いアドバイスがあれば教えていただきたいです。よろしくお願いします。
やりたいことは、リファレンスに書いてあると思います。
もう一度上から下まで、読み直しましょう。
https://readouble.com/laravel/7.x/ja/eloquent-relationships.html
回答2件
あなたの回答
tips
プレビュー