| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- <?php
- namespace App;
- use Illuminate\Database\Eloquent\Model;
- use Illuminate\Support\Collection;
- class WMSReflectReceive extends Model
- {
- protected $fillable=['ASNNO','WAREHOUSEID','CUSTOMERID','ASNTYPE','ASNREFERENCE1',
- 'ASNREFERENCE2','ASNREFERENCE3','NOTES','USERDEFINE1','USERDEFINE2','USERDEFINE3'];
- function skus(){
- return $this->hasMany('App\WMSReflectReceiveSku','wms_receive_id','id');
- }
- function bill(){
- return $this->belongsTo('App\RejectedBill','ASNREFERENCE3','logistic_number_return');
- }
- /**
- * @param $logisticNumberReturn
- * @return Collection
- */
- static function downloadedSkus($logisticNumberReturn){
- $wmsReceives=WMSReflectReceive::with('skus')->where('ASNREFERENCE3',$logisticNumberReturn)->get();
- $downloadedItems=[];
- foreach ($wmsReceives as $wmsReceive){
- $wmsReceive->skus()->each(function (WMSReflectReceiveSku $sku)use(&$downloadedItems){
- $repeated=false;
- foreach($downloadedItems as $item){
- if($item['ALTERNATE_SKU1']==$sku['ALTERNATE_SKU1']){
- $repeated=true;
- break;
- }
- }
- if(!$repeated){
- $downloadedItems[]=$sku;
- }
- });
- }
- return new Collection($downloadedItems);
- }
- }
|