第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

Laravel with([]) 僅選擇關(guān)系的某些列

Laravel with([]) 僅選擇關(guān)系的某些列

PHP
Smart貓小萌 2023-07-01 15:16:10
編輯這個(gè)問題很獨(dú)特,因?yàn)樗岢隽霜?dú)特的問題,例如:與組件之間的關(guān)系。(商品.產(chǎn)品.庫存管理)。大量的組件,這導(dǎo)致鏈接問題的接受答案不適用。假設(shè)你有一個(gè)像下面這樣的大 with() :$order = Order::with([        'company',        'complaints',        'person',        'items',        'items.product',        'items.product.stockManagement',        'status',     ])->findOrFail($id);然后,我如何選擇它們的所有關(guān)系,但選擇其中一些的特定列?$order = Order::with([        'company',   // select only id,name, size        'complaints',  // select only id, name , body        'person',             'items',          'items.product',  // select only id, name , price        'items.product.stockManagement',        'status',  // select only id        'items.product.media',        'items.product.mainProduct',        'items.product.mainProduct.media'    ])->findOrFail($id);
查看完整描述

4 回答

?
冉冉說

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊

像這樣:


$order = Order::with([

? ? 'company:id,name,size',

? ? 'complaints:id,name,body',

? ? 'person',? ? ?

? ? 'items',??

? ? 'items.product:id,name,price',

? ? 'items.product.stockManagement',

? ? 'status:id',

? ? 'items.product.media',

? ? 'items.product.mainProduct',

? ? 'items.product.mainProduct.media'

])->findOrFail($id);

該文檔對于特定列的加載非常簡短(您甚至必須向下滾動一點(diǎn)到“急切加載特定列”的標(biāo)題)。

您可能并不總是需要所檢索的關(guān)系中的每一列。因此,Eloquent 允許您指定要檢索關(guān)系的哪些列:

$books?=?App\Book::with('author:id,name')->get();

筆記:

使用此功能時(shí),您應(yīng)該始終將id 列和任何相關(guān)的外鍵列包含在您希望檢索的列列表中。


查看完整回答
反對 回復(fù) 2023-07-01
?
慕標(biāo)5832272

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊

我遇到了同樣的問題。您需要指定foreign idnot id (主鍵)。

例如:

Data::with('other:id,name')->get();

如果你自定義了外文名稱就不行了。因此,您需要完整添加您的外部列名稱。

Data::with('other:foreign_id,name')->get();

那會起作用的!


查看完整回答
反對 回復(fù) 2023-07-01
?
白豬掌柜的

TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊

您還可以為一些更高級的關(guān)系查詢提供回調(diào)。


Order::with([

    'company' => function ($q) {

         $q->select('id', 'name');

    }

])


查看完整回答
反對 回復(fù) 2023-07-01
?
慕勒3428872

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊

$order = Order::with(

['company' => function($query) {

    $query->select('id','name','size')

 }),

'complaints' => function($query) {

    $query->select('id','name','body')

 }),

'person',    

'items',  

'items.product'  => function($query) {

    $query->select('id','name','price')

 }), 'items.product.stockManagement','status'=> function($query) {

    $query->select('id')

 }),'items.product.media', 'items.product.mainProduct', 'items.product.mainProduct.media'])->findOrFail($id);



查看完整回答
反對 回復(fù) 2023-07-01
  • 4 回答
  • 0 關(guān)注
  • 232 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號