Anonymous
Egor
Привет народ
Egor
Нужна помощь с yii, как вывести все статьи из определенной категории?http://pastebin.com/Kq2fwDB6
Egor
(я новичек в yii)
Egor
Хотя бы подскажите в чем ошибка?
Dmytro
в каком из action-ов нужно вывести?
Dmytro
Category::findOne($id) вместо Category::findAll($id)
Dmytro
или Category::find()->where(['id'=>$id])->one()
Egor
Я хочу чтобы на главной выводились категории, а при клике по категории показывало статьи этой категории
Dmytro
ну, тогда я уже выше написал, что нужно изменить в коде
Egor
public function actionCat($id) { $articles = Category::findAll($id); return $this->render('cat', ['articles'=>$articles]); } если делаю так, то при клике показывает массив с названием категории по которой кликнул
Dmytro
ну, так вы ищите все (findAll)
Dmytro
а надо findOne
Vladimir
Натолкните на мысль? В таблице ссылки с вызовом модал окна, работает. При сортировке таблицы ссылки уже не открывают модал. Классы не меняются, джиэс тоже. Хз куда смотреть
Vladimir
Модал окно
Vladimir
Таблица
Vladimir
джиэс
Dmytro
у вас dom меняеться
Dmytro
не так обработчики надо вешать
Dmytro
$(document).on('click','.city-modal-btn', function(){});
Dmytro
ну, или не на document, а на что-то ниже, но точно на такой узел, который не "мутирует"
Vladimir
ну, или не на document, а на что-то ниже, но точно на такой узел, который не "мутирует"
дом же не меняется в ссылке с классом, которая вызывает js, почему он ломается?
Dmytro
меняется
Dmytro
после сортировки -- мутирует таблица
Vladimir
после сортировки -- мутирует таблица
лишь в ссылку сортировки добавляется class="asc"
Dmytro
я вам решения назвал -- дальше дело ваше
Vladimir
Понять охото %)
Dmytro
dom мутирует -- это факт
Dmytro
посмотрите, как yii вешает обработчики
Dmytro
https://github.com/yiisoft/yii2/blob/master/framework/assets/yii.gridView.js#L240
Константин
/link@yetanotherstatsbot
Yet Another Stats (β)
https://yasb.exileed.com/telegram/chat/1001046156199
Anonymous
Всем привет. Есть вопрос Выбираю данные вот так $model = Niche::find() ->select('*') ->from('niche n') ->leftJoin('resource r', 'r.n_id = n.id') ->leftJoin('url u', 'u.r_id = r.id') ->where('n.slug = :slug', [':slug' => Yii::$app->request->get('s')]) ->andWhere('r.uri = :uri', [':uri' => Yii::$app->request->get('u')]) ->all(); В запрос из дебага выполнить в pma допустим, то возвращает все что нужно
Anonymous
print_r выдает только данные ниши
Anonymous
Как вытащить данные?
Ivan
print_r вам тут не поможет
Ivan
можно написать свою функцию debug и посмотреть что получается
Ivan
ну либо уже во вью вывести через foreach, если я привильно понял проблему
Амаль
$model->resource
Амаль
почитайте про связи hasOne hasMany Все станет понятно...
Anonymous
Читал
Anonymous
Но тут не пойму
Anonymous
Дело в том что в dbForge или PMA запрос, который я составил в Yii и вытащил из дебага
Anonymous
Возвращает полностью все что мне нужно из всех таблиц
Anonymous
Если же я работаю с этим в yii то не вижу данных из других таблиц
Anonymous
а только из одной
Ivan
а таблицы как связаны между собой? связь прописали, вот как раз hasOne/hasMany нужны для связи таблиц
Anonymous
В моделях
Anonymous
Вот например из можели ниши связьь public function getResources() { return $this->hasMany(Resource::className(), ['n_id' => 'id']); }
Амаль
И попробуй убрать select() вообще
Anonymous
Но я же делаю джоином
Амаль
Из цепочки
Anonymous
Амаль
Но я же делаю джоином
Ненадо джоином... Тут надо with или joinwith
Anonymous
Попробую спс
Anonymous
Просто не понятно Запрос то верный получается SELECT * FROM niche n LEFT JOIN resource r ON r.n_id = n.id LEFT JOIN url u ON u.r_id = r.id WHERE (n.slug = 'foo') AND (r.uri = 'bar')
Амаль
Поищи в группе выше уже обсуждпли эту тему
Anonymous
Ок спс
Anonymous
Парни. А ->one делает limit 1 или все равно пробегает все записи но выводит только первую?
Anonymous
Хотя я сам ведь могу допилить лимит в запросе и все
Anonymous
Vasily
Лучше сам one() допилить. Ничего не поломается.
SiZE
Additional limit may slow down such simple queries like: SELECT * FROM ModelTable WHERE id = 1 I don't think automatic limit is appropriate here.
SiZE
У меня нет повода не доверять Климову
Vasily
На форуме есть топик по этому вопросу. Гуглится легко. Метод работает не так, как от него ждут. Основывать свое доверие на имени как-то не очень серьезно.
SiZE
На форуме есть топик по этому вопросу. Гуглится легко. Метод работает не так, как от него ждут. Основывать свое доверие на имени как-то не очень серьезно.
Начнем стого что половина вопросов в принципе лечится документацией. А то что метод не оправдал чьих то ожиданий ))) Ну эмм не знаю )))
SiZE
A single row of query result.
SiZE
как еще понятней это можно написать?
SiZE
возможно конечно стоит уточнить this is not use limit 1 =)
Vasily
Не оправдывайте кривоту реализации. Я спорить с вами не буду все равно. Возвращать первую строку дергая всю таблицу немного тупенько.
Амаль
стоило мб проверять есть ли сравнение по primaryKey если нет то добавлять LIMIT
Амаль
Вот в первой части был удобный метод финдБайПк
Амаль
бля написал как 1С программист