42 lines
951 B
PHP
42 lines
951 B
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Models\Stats;
|
||
|
|
|
||
|
|
use Illuminate\Database\Eloquent\Model;
|
||
|
|
|
||
|
|
class StatSalesDaily extends Model
|
||
|
|
{
|
||
|
|
protected $connection = 'sam_stat';
|
||
|
|
|
||
|
|
protected $table = 'stat_sales_daily';
|
||
|
|
|
||
|
|
protected $casts = [
|
||
|
|
'stat_date' => 'date',
|
||
|
|
'order_count' => 'integer',
|
||
|
|
'order_amount' => 'decimal:2',
|
||
|
|
'sales_count' => 'integer',
|
||
|
|
'sales_amount' => 'decimal:2',
|
||
|
|
'shipment_count' => 'integer',
|
||
|
|
'shipment_amount' => 'decimal:2',
|
||
|
|
];
|
||
|
|
|
||
|
|
public function scopeForTenant($query, ?int $tenantId)
|
||
|
|
{
|
||
|
|
if ($tenantId) {
|
||
|
|
return $query->where('tenant_id', $tenantId);
|
||
|
|
}
|
||
|
|
|
||
|
|
return $query;
|
||
|
|
}
|
||
|
|
|
||
|
|
public function scopeForDateRange($query, string $from, string $to)
|
||
|
|
{
|
||
|
|
return $query->whereBetween('stat_date', [$from, $to]);
|
||
|
|
}
|
||
|
|
|
||
|
|
public function scopeForDate($query, string $date)
|
||
|
|
{
|
||
|
|
return $query->where('stat_date', $date);
|
||
|
|
}
|
||
|
|
}
|