%PDF- %PDF-
Direktori : /var/www/html/management/app/Models/ |
Current File : /var/www/html/management/app/Models/Order.php |
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class Order extends Model { const PENDING = 'PENDING'; const COMPLETED = 'COMPLETED'; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'code', 'status', 'user_id', 'computer_id', ]; public function items() { return $this->hasMany(Item::class); } public function invoices() { return $this->hasMany(Invoice::class); } public function gifts() { return $this->hasMany(Gift::class); } /** * @return \Illuminate\Support\Collection */ public function getOtherProducts() { $items = $this->items()->where(function ($q) { $q->whereHas('usage', function ($q) { $q->whereNotNull('end_at'); })->orWhereDoesntHave('usage'); })->get(); $ret = collect(); /** @var Item $item */ foreach ($items as $item) { $usageStart = null; $usageEnd = null; if ($usage = $item->usage) { $usageStart = $usage->start_at; $usageEnd = $usage->end_at; } $ret->push([ 'id' => $item->id, 'oid' => $item->order_id, 'quantity' => $item->quantity, 'price' => $item->price, 'name' => $item->product->name, 'start' => $usageStart, 'end' => $usageEnd, ]); } return $ret; } }