鍍金池/ 問答/PHP/ 求助:【Laravel】 Eloquent 中關(guān)于一對多關(guān)聯(lián)查詢的問題

求助:【Laravel】 Eloquent 中關(guān)于一對多關(guān)聯(lián)查詢的問題

問題描述

模型一:訂單模型,包含每個訂單的所有詳細(xì)信息,訂單號碼,購物車號……
模型二:購物車數(shù)據(jù)模型,包含每一個購物車的所有信息,購物車的結(jié)算金額,運單號,等等。

需求:訂單列表里面按照購物車為單位顯示訂單,每個購物車中所包含的子訂單信息全部顯示在對應(yīng)購物車中。

由于訂單表中每一條對應(yīng)一個訂單,多個訂單可以有相同的購物車號,購物車信息表里面購物車號是唯一的,
定義的關(guān)聯(lián)關(guān)系如下:

class CartsData extends Model
{
    public function orders()
    {
        return $this->hasMany(Order::class, 'cart_no', 'cart_no');
    }
}
class Order extends Model
{
    public function cartsInfo()
    {
        return $this->belongsTo(CartsData::class, 'cart_no', 'cart_no');
    }
}

請問: 按照購物車為單位顯示訂單列表,怎樣寫查詢來獲取購物車信息以及其購物車內(nèi)所有訂單的信息呢? 要求顯示的訂單列表可以按照訂單信息里的字段來排序?!静恢勒f的是否清楚,目的是想把數(shù)據(jù)通過最簡便的方式取出,同時可以按照訂單信息表中的字段進行排序或篩選】。

回答
編輯回答
懶豬
試試
$cart->orders()->whereOrderNo("1")->get();
2017年9月9日 10:23