@Leopandro
Разработчик CRM/ERP систем

Что я делаю не так при поиске по связанным таблицам?

Есть модель Car со связью к бренду по brand-id:
public function getBrand()
	{
		return $this->hasOne(Brand::className(), [
			'id' => 'brand_id'
		]);
	}


У этого brand есть поле name.
И чтобы искать по полю name делаю так:

$query->joinWith('brand');
$query->orFilterWhere([
  'like', 'brand.name', '%'.$this->company.'%', false
]);

(поиск по полю company)
Код не работает. Что я делаю не так. Если что таблица модели Brand называется car_brand
  • Вопрос задан
  • 129 просмотров
Пригласить эксперта
Ответы на вопрос 1
qonand
@qonand
Software Engineer
1. У вас сейчас указывается название модели, а должно быть название таблицы
2. Символы '%' Yii ставит сам
$query->orFilterWhere([
  'like', 'car_brand.name', $this->company
]);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы