Files
opensem/app/Models/Shop/PriceListValue.php
Ludovic CANDELLIER 0879b0abf0 add shipping rules
2023-07-16 14:45:42 +02:00

52 lines
1.3 KiB
PHP

<?php
namespace App\Models\Shop;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Wildside\Userstamps\Userstamps;
use Znck\Eloquent\Traits\BelongsToThrough;
class PriceListValue extends Model
{
use BelongsToThrough, SoftDeletes, Userstamps;
protected $guarded = ['id'];
protected $table = 'shop_price_list_values';
public function price_list()
{
return $this->belongsTo(PriceList::class);
}
public function tariff()
{
return $this->belongsToThrough(Tariff::class, PriceList::class, null, '',
[
'App\Models\Shop\Tariff' => 'tariff_id',
'App\Models\Shop\PriceList' => 'price_list_id',
]
);
}
public function scopeByPriceList($query, $id)
{
return $query->where($this->table.'.price_list_id', $id);
}
public function scopeByQuantity($query, $quantity)
{
return $query->orderBy('quantity', 'desc')->where($this->table.'.quantity', '<=', $quantity)->first();
}
public function scopeBySaleChannel($query, $sale_channel_id)
{
return $query->with([
'price_list' => function ($query) use ($sale_channel_id) {
return $query->bySaleChannel($sale_channel_id);
},
]);
}
}