hasOne(ProductCompatPartsModel::class, 'id', 'part_id'); } // 按所属语言查询 public function scopeLanguage(\think\db\Query $query, int $value) { $query->where('language_id', $value); } // 按型号查询 public function scopeModelName(\think\db\Query $query, string|array $value) { if (is_array($value)) { $query->where('model', 'in', $value); return; } $query->where('model', '=', $value); } // 按标签名称搜索 public function searchLabelNameAttr(\think\db\Query $query, string|null $value, array $data) { if (is_null($value)) return; $query->where('label_name', 'like', '%' . $value . '%'); } // 按型号搜索 public function searchModelAttr(\think\db\Query $query, string|null $value, array $data) { if (is_null($value)) return; $query->where('model', 'like', '%' . $value . '%'); } }