hasMany('App\WMSReflectReceiveSku','wms_receive_id','id'); } function bill(){ return $this->belongsTo('App\RejectedBill','id_rejected_bill','id'); } /** * @param $logisticNumberReturn * @param bool $withOutUploaded * @return Collection */ static function downloadedSkus($logisticNumberReturn, $withOutUploaded=false){ $wmsReceives=WMSReflectReceive::with('skus')->where('ASNREFERENCE3',$logisticNumberReturn); if($withOutUploaded) $wmsReceives=$wmsReceives->where('is_uploaded',0); $wmsReceives=$wmsReceives->get(); $downloadedItems=[]; foreach ($wmsReceives as $wmsReceive){ $wmsReceive->skus()->each(function (WMSReflectReceiveSku $sku)use(&$downloadedItems){ $repeated=false; foreach($downloadedItems as $item){ if($item['id']==$sku['id']){ $repeated=true; break; } } if(!$repeated){ $downloadedItems[]=$sku; } }); } return new Collection($downloadedItems); } }