2017-04-25 15 views
2

おはようございます、あなたのお手伝いをしたいと思います。Laravel Query Builder Join

このクエリをLaravelクエリビルダに適用してもらえますか。私は生のクエリを使ってデータベースに問い合わせる方法しか知りません。

問合せ:

SELECT users.first_name, users.last_name, users.id as userID, bookmarks.id, 
products.title, products.price, products.id AS productID FROM users, 
products, bookmarks WHERE bookmarks.user_id = $user_id AND products.id = 
bookmarks.product_id AND users.id = products.user_id; 

は私を助ける人々をありがとうございました。

答えて

0
$result = DB::select(DB::raw('custom_query')); 
    $user_name = $result[0]->first_name.' '.$result[0]->last_name; 
1
Use this Laravel Query. 

$response = DB::table('users as u')->select(
       'u.id as userId', 
       'u.first_name', 
       'u.last_name', 
       'b.id as bookmarkId', 
       'p.id as productId',`enter code here` 
       'p.title', 
       'p.price' 
      ) 
       ->leftjoin('bookmarks as b', 'b.user_id', '=', 'u.id') 
       ->leftjoin('products as p', 'p.user_id', '=', 'u.id') 
       ->where('u.id', $userId)->get(); 
0

SELECT users.first_name、users.last_name、ユーザーIDなどusers.id、 bookmarks.id、products.title、products.price、ユーザーからの のproductID AS products.id、製品、ブックマークWHERE bookmarks.user_id = $ user_id AND products.id = bookmarks.product_id AND users.id = products.user_id;

方法で雄弁を使用して、関係にアクセスできますが、laravelクエリメソッドが必要な場合はアクセスできます。 DB :: rawを使用すると、独自の未処理クエリを使用できます。

DB::select(DB::raw("Select a.first_name, a.last_name, a.id as user_id, b.id, c.title, c.price, c.id from users as a INNER JOIN bookmarks as b on b.user_id = $user_id INNER JOIN Products as c on c.id = b.product_id where user_id = c.user_id")); 

これは単なる例であり、どのようにクエリを操作するかはあなた次第です。

愛、 ポップ