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

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

問(wèn)題描述

模型一:訂單模型,包含每個(gè)訂單的所有詳細(xì)信息,訂單號(hào)碼,購(gòu)物車(chē)號(hào)……
模型二:購(gòu)物車(chē)數(shù)據(jù)模型,包含每一個(gè)購(gòu)物車(chē)的所有信息,購(gòu)物車(chē)的結(jié)算金額,運(yùn)單號(hào),等等。

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

由于訂單表中每一條對(duì)應(yīng)一個(gè)訂單,多個(gè)訂單可以有相同的購(gòu)物車(chē)號(hào),購(gòu)物車(chē)信息表里面購(gòu)物車(chē)號(hào)是唯一的,
定義的關(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');
    }
}

請(qǐng)問(wèn): 按照購(gòu)物車(chē)為單位顯示訂單列表,怎樣寫(xiě)查詢(xún)來(lái)獲取購(gòu)物車(chē)信息以及其購(gòu)物車(chē)內(nèi)所有訂單的信息呢? 要求顯示的訂單列表可以按照訂單信息里的字段來(lái)排序?!静恢勒f(shuō)的是否清楚,目的是想把數(shù)據(jù)通過(guò)最簡(jiǎn)便的方式取出,同時(shí)可以按照訂單信息表中的字段進(jìn)行排序或篩選】。

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