where('label|code', 'LIKE', "%$value%"); } } /** * 状态-搜索器 * * @param $query * @param $value */ public function scopeStatus($query, $value) { if ($value !== '') { $queryMethod = is_array($value) ? 'whereIn' : 'where'; $query->$queryMethod('status', $value); } } /** * 字典ID-搜索器 * * @param $query * @param $value */ public function scopeDictId($query, $value) { if (!empty($value)) { $queryMethod = is_array($value) ? 'whereIn' : 'where'; $query->$queryMethod('dict_id', $value); } } /** * 字典标识-搜索器 * * @param $query * @param $value */ public function scopeCode($query, $value) { if (!empty($value)) { $queryMethod = is_array($value) ? 'whereIn' : 'where'; $query->$queryMethod('code', $value); } } /** * Value- 搜索器 * * @param $query * @param $value */ public function scopeValue($query, $value) { if (!empty($value)) { $query->where('value', 'LIKE', "%$value%"); } } /** * Label-搜索器 * * @param $query * @param $value */ public function scopeLabel($query, $value) { if (!empty($value)) { $query->where('label', 'LIKE', "%$value%"); } } /** * 获取器-扩展属性 * * @param $value * * @return mixed|object */ public function getExt($value): mixed { if (is_null($value) || $value === '') { return (object)[]; } return json_decode($value, 1); } }