HEX
Server: LiteSpeed
System: Linux sv4.hami.host 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64
User: armgroup (1008)
PHP: 8.2.32
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, mail, socket_create, socket_create_listen, socket_create_pair, link, dl, openlog, syslog, stream_socket_server, curl_multi_init
Upload Files
File: //home/armgroup/libs/app/Models/OptionProduct.php
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;

class OptionProduct extends Model
{
    public $incrementing = false;

    public $timestamps = false;

    protected $table = 'option_product';

    protected static function boot()
    {
        parent::boot();
        static::addGlobalScope('order', function (Builder $builder) {
            $builder->orderByRaw('IF(option_product.stock > 0, 0, 1), CASE WHEN (option_product.special > 0 And option_product.special_started_at <= ? AND option_product.special_ended_at >= ? ) THEN option_product.special ELSE option_product.price END ASC', [now(), now()]);
        });
    }

    public function getSpecialMaskAttribute()
    {
        if ($this->special && ($this->special_started_at <= now()) && ($this->special_ended_at >= now())) {
            return $this->special;
        }

        return null;
    }
}