45 lines
944 B
PHP
45 lines
944 B
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use App\Casts\JsonArray;
|
|
use Dcat\Admin\Traits\HasDateTimeFormatter;
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class DealerProduct extends Model
|
|
{
|
|
use HasFactory;
|
|
use HasDateTimeFormatter;
|
|
|
|
protected $casts = [
|
|
'images' => JsonArray::class,
|
|
'is_sale' => 'bool',
|
|
];
|
|
|
|
public function scopeOnline($query)
|
|
{
|
|
return $query->where('is_sale', true);
|
|
}
|
|
|
|
public function lvlRules()
|
|
{
|
|
return $this->hasMany(DealerProductLvlRule::class, 'product_id');
|
|
}
|
|
|
|
public function saleRules()
|
|
{
|
|
return $this->hasMany(DealerProductSaleRule::class, 'product_id')->orderBy('qty', 'desc');
|
|
}
|
|
|
|
public function manageRules()
|
|
{
|
|
return $this->hasMany(DealerProductManageRule::class, 'product_id');
|
|
}
|
|
|
|
public function isOnline()
|
|
{
|
|
return $this->is_sale;
|
|
}
|
|
}
|