我有xml導出文件,我需要在其中多次循環(huán)數(shù)據(jù),但不確定如何完成。邏輯循環(huán)產(chǎn)品循環(huán)產(chǎn)品關系將產(chǎn)品及其關系數(shù)據(jù)獲取到變量中導出包含產(chǎn)品信息及其關系的文件代碼在我們開始編寫代碼之前,為了便于閱讀,最好先提一下,我僅使用 1 個關系示例縮短了 xml 代碼。如果它有效,那么我將自己處理其余的輸入。(我只需要幫助修復 1 個變量,其余的我會做...)relationship part commented截屏解釋我需要的是從中獲取'INVOICENO'值$product->allBarcodes->transits(它是數(shù)組/可能為空),然后在循環(huán)此關系之后獲取截至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條經(jīng)驗 獲得超4個贊
假設tansNu
是一個字符串,您應該能夠使用一些方便的集合方法tansNu
檢索from的數(shù)組。為此,您必須預先加載關系(在代碼中)$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,并且作為一個數(shù)組,您可以像這樣實現(xiàn)
$invoiceNoArray?=?$invoiceNoCollection->filter()->unique()->toArray();
- 1 回答
- 0 關注
- 130 瀏覽
添加回答
舉報
0/150
提交
取消