@maxyc_webber
Web-программист

Yii2: Как вытащить города по условию?

Что то затупил, ребят. есть 2 модели. City и Club (в городе много клубов. Клуб 1 к городу)
короче нужно вывести все города из известных клубов.

у города сделал
public function getClubs(){
		return $this->hasMany(Club::className(), ['city_id'=>'id']);
	}


запрашиваю
$_cities = City::find()->joinWith('clubs')->where(['LIKE', 'name_ru', $term])->all();


выводит все города попадающие под условие where
что я забыл указать для джойна, чтоб вывел только конкретные города известных клубов?
есть всего 3 клуба. в екб, мск и питере
  • Вопрос задан
  • 282 просмотра
Решения вопроса 1
@maxyc_webber Автор вопроса
Web-программист
$_cities = City::find()->joinWith('clubs', true, 'INNER JOIN')->where(['LIKE', 'net_city.name_ru', $term])->all();
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Sphinx123
@Sphinx123
Web-программист @Yii2
Две связанные через hasMany таблицы:
а) cart --- Корзина
b) goods --- Товары

В контроллере CartController:
$result = (new \yii\db\Query())
->select([])
->from(['cart'])
->innerJoin(['goods'])
->where(['cart_ip' => $_SERVER['REMOTE_ADDR']])
->andWhere('`cart_good_id` = `goods_id`')
->groupBy(['cart_good_id'])
->all();
return $this->render('index',['result' => $result]);

В cart/index:
<?php foreach ( $result as $row):
Результат запроса
например: ...$row["cart_id"]...
endforeach;?>
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы