hasOne(Category::class, 'id', 'label_cate')->bind(['cate_name' => 'name']); } /** * 标签分类 * @param \think\Model $query * @param $value */ public function searchLabelCateAttr($query, $value) { if ($value !== '') { if (is_array($value)) { $query->whereIn('label_cate', $value); } else { $query->where('label_cate', $value); } } } /** * type搜索器 * @param Model $query * @param $value */ public function searchTypeAttr($query, $value) { if ($value) $query->where('type', $value); } public function searchLabelNameAttr($query, $value) { if ($value !== '') { $query->whereLike('label_name', "%{$value}%"); } } public function searchStatusAttr($query, $value) { if ($value !== '') $query->where('status', $value); } public function searchLabelTypeAttr($query, $value) { if ($value !== '') $query->where('label_type', $value); } /** * store_id搜索器 * @param Model $query * @param $value */ public function searchStoreIdAttr($query, $value) { if ($value !== '') $query->where('store_id', $value); } /** * ids搜索器 * @param Model $query * @param $value */ public function searchIdsAttr($query, $value) { if ($value !== '') { if (is_array($value)) { $query->whereIn('id', $value); } else { $query->where('id', $value); } } } /** * @param $query * @param $value */ public function searchNotTagIdAttr($query, $value) { $query->where(function ($query) { $query->whereNull('tag_id')->whereOr('tag_id', ''); }); } }