Не совсем понимаю один момент, например, есть три связанные таблицы: статья, теги и связующая таблица id_tag и id_post. Сделать просто вывод по всем трём таблицам, не составило труда, но если я вписываю условие, то бд выдает ошибку
SQLSTATE[42S22]: Column not found: 1054 Unknown column
'tags_post.tag_id' in 'where clause' The SQL being executed was:
SELECT * FROM blog
WHERE tags_post
.tag_id
='3'
Код в контроллере:
public function actionCategory($id){
$blog = Blog::find()
->where(['tags_post.tag_id' => $id])
->with('tags')
->all();
return $this->render('blog', ['blog' => $blog]);
}
Без условия WHERE все работает, но как тогда это можно реализовать? Это кстати, метод из модели ActiveRecord
public function getTags(){
return $this->hasMany(Tags::classname(), ['tag_id' => 'tag_id'])
->viaTable('tags_post', ['post_id' => 'id']);
}
У Вас же запрос строится без соединения со связанной таблицей. Попробуйте так:
public function actionCategory($id){
$blog = Blog::find()
->joinWith('tags')
->where(['tags_post.tag_id' => $id])
->all();
return $this->render('blog', ['blog' => $blog]);
}
Я читаю книгу "Олимпиадное программирование" Лааксонена и я попробовал предложенный в этой книге алгоритм перебора с возвратом для решения...
Для удаления последнего элемента в векторе использую pop_back()
Программа писалась для сортировки чисел(в порядке убывания)