亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

Laravel 多重數組

Laravel 多重數組

PHP
翻過高山走不出你 2023-06-24 17:54:34
我有xml導出文件,我需要在其中多次循環數據,但不確定如何完成。邏輯循環產品循環產品關系將產品及其關系數據獲取到變量中導出包含產品信息及其關系的文件代碼在我們開始編寫代碼之前,為了便于閱讀,最好先提一下,我僅使用 1 個關系示例縮短了 xml 代碼。如果它有效,那么我將自己處理其余的輸入。(我只需要幫助修復 1 個變量,其余的我會做...)relationship part commented截屏解釋我需要的是從中獲取'INVOICENO'值$product->allBarcodes->transits(它是數組/可能為空),然后在循環此關系之后獲取截至tansNu的列值INVOICENO。有任何想法嗎?更新模型關系Product.phppublic function allBarcodes(){    return $this->hasMany(Barcode::class, 'product_id', 'id');}Barcode.phppublic function product(){    return $this->belongsTo(Product::class);}public function transits(){    return $this->hasMany(Transit::class, 'barcode_id', 'id');}Transit.phppublic function barcode(){    return $this->belongsTo(Barcode::class);}
查看完整描述

1 回答

?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

假設tansNu是一個字符串,您應該能夠使用一些方便的集合方法tansNu檢索from的數組。為此,您必須預先加載關系(在代碼中)$product

// in your $product loop you can get the tansNu list like so

$invoiceNoCollection = collect([$product])->flatMap(function($p){

? ? ? ? return $p->allBarcodes;

? ? })->flatMap(function($b){

? ? ? ? return $b->transits->pluck('tansNu');

? ? });

此時$invoiceNoCollection應該持有所有tansNu$product。您沒有指定您希望輸出是什么樣的,但我假設您希望它是唯一的,而不是 null,并且作為一個數組,您可以像這樣實現

$invoiceNoArray?=?$invoiceNoCollection->filter()->unique()->toArray();


查看完整回答
反對 回復 2023-06-24
  • 1 回答
  • 0 關注
  • 132 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號