Files
opensem/app/Models/Shop/Order.php
Ludovic CANDELLIER d33b5eea52 fix editing orders
2022-11-19 23:43:12 +01:00

69 lines
1.5 KiB
PHP

<?php
namespace App\Models\Shop;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Venturecraft\Revisionable\RevisionableTrait;
class Order extends Model
{
use RevisionableTrait, SoftDeletes;
protected $guarded = ['id'];
protected $table = 'shop_orders';
protected $revisionCreationsEnabled = false;
protected $keepRevisionOf = ['customer_address_id', 'delivery_id', 'payment_type', 'status'];
public function customer()
{
return $this->belongsTo(Customer::class);
}
public function address()
{
return $this->belongsTo(CustomerAddress::class, 'customer_address_id');
}
public function delivery()
{
return $this->belongsTo(Delivery::class);
}
public function detail()
{
return $this->hasMany(OrderDetail::class);
}
public function invoice()
{
return $this->hasOne(Invoice::class);
}
public function sale_channel()
{
return $this->belongsTo(SaleChannel::class);
}
public function scopeByCustomer($query, $customer_id)
{
return $query->where('customer_id', $customer_id);
}
public function scopeByDelivery($query, $delivery_id)
{
return $query->where('delivery_id', $delivery_id);
}
public function scopeByStatus($query, $status)
{
return $query->where('status', $status);
}
public function scopeByPaymentType($query, $payment_type)
{
return $query->where('payment_type', $payment_type);
}
}