搜尋

首頁  >  問答  >  主體

php - Laravel裡面怎麼實作多表查詢

我有一個顯示購物車的view,表格形式,每個購物車的條目需要展示當前購買的鮮花的詳細信息及購買的數量,而在數據庫中,存在flower和cart兩個表,前者包含花的基本信息,如花名等,後者包含購物車條目的信息,包含用戶ID、花ID、購買數量等。要取得某用戶的購物車數據,我需要實現兩個表的連接,並將連接得到的結果傳回view

我的專案包含兩個Model,分別是Cart(購物車條目)和Flower(花),另外還有一個Controller,即CartController,它包含一個獲取某用戶購物車資料並將其傳遞給view的方法。

以下是我的幾個思路,但由於我是Laravel的新手,所以不太清楚這些思路實現的可行性和具體操作,所以希望大家能夠指點一下,具體的思路如下:

  1. 我的資料庫中包含一個某用戶購物車數據的視圖,所以我在考慮直接從視圖中讀取數據,我查不到查詢構造器和Eloquent這兩種方法對視圖的操作,所以我考慮使用原生的sql

  2. 查詢建構器多表查詢

  3. Eloquent關聯,我之前一直使用的都是Eloquent,所以我想繼續使用,於是我查到了關聯這個知識點,不過根據文檔,我對他是否能進行多表查詢表示疑問

接觸Laravel時間很短,可能在上面的提問中會有很多讓人笑話的點,如果對於我的提問有所建議的,也歡迎提出,謝謝!

大家讲道理大家讲道理2736 天前987

全部回覆(1)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-05-18 10:49:22

    我寫給你一個demo吧,你自己按照你自己的改成你想要的就好了

    DB::table('users')
        ->join('contacts', 'users.id', '=', 'contacts.user_id')
        ->join('orders', 'users.id', '=', 'orders.user_id')
        ->select('users.id', 'contacts.phone', 'orders.price')
        ->get();

    以上是join操作,user表連接了contacts和orders表,後面接的是on的條件,select的內容是要檢查的欄位。

    回覆
    0
  • 取消回覆