2017-04-25 106 views
2

下午好點子,我想請求你的幫助。Laravel查詢生成器加入

請幫我將這個查詢應用到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,users.id如用戶ID, bookmarks.id,products.title,products.price,products.id AS FROM的productID用戶,產品,書籤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")); 

這只是一個例子,它仍然取決於您如何操縱查詢。

愛, 船尾