<?php
declare (strict_types = 1);

namespace app\admin\model\v1;

use app\common\model\ProductCompatPartsBaseModel;
use think\model\concern\SoftDelete;

/**
 * @mixin \think\Model
 */
class ProductCompatPartsModel extends ProductCompatPartsBaseModel
{
    // 启用软件删除
    use SoftDelete;
    // 软件删除时间字段
    protected $deleteTime = 'deleted_at';

    // 按所属语言查询
    public function scopeLanguage(\think\db\Query $query, int $value)
    {
        $query->where('language_id', $value);
    }

    // 按类型名称查询
    public function scopePartName(\think\db\Query $query, string|array $value)
    {
        if (is_array($value)) {
            $query->where('name', 'in', $value);
            return;
        }
        $query->where('name', '=', $value);
    }

    // 按状态查询
    public function scopeDisabled(\think\db\Query $query, bool|null $disabled)
    {
        if (is_null($disabled)) return;
        $query->where('disabled', '=', (int)$disabled);
    }

    // 查询配件类型名称搜索
    public function searchNameAttr(\think\db\Query $query, string|null $value, array $data)
    {
        if (is_null($value)) return;
        $query->where('name', 'like', '%' . $value . '%');
    }
}
