SiZE
попробуй так
SiZE
А вообще можно построить запрос еще так: $this->getDbCriteria()->mergeWith(array( 'with' => array( 'application_producer' => array( 'select' => false, 'with' => array( 'producer' => array( 'condition' => 'producer_type_id=1' ) ) ) ) ));
SiZE
вариантов несколько вообще
Nidzha
<cell><![CDATA[{$item->applicationProducers->mainProducer->name}]]></cell>
Nidzha
В этом случае он не сработал
Nidzha
relations написал внутри модели ApplicationProducer
SiZE
ну что я могу сказать. я за тебя работу делать не буду. разбирайся.
Nidzha
Второй вариант пробую_ Спасибо
SiZE
Почитай http://www.yiiframework.com/doc/guide/1.1/en/database.arr Примеры я тебе дал. Разберешься как завести.
Nidzha
Все получилось )
Nidzha
Relation создал отдельно для applicationproducer
Nidzha
и condition дописал
Nidzha
и он заработал
Sergey
ура yii 1.18 готовятся релизить
Sergey
наконец поддержка php 7.1
Максим
‼️Ого
Sergey
но только все минорные баги послали лесом
Sergey
похоже последний релиз будет
who are you
@sizepermru спасибо, на форуме посмотрел, но пока тяжело это воспринять, в течении дня может дойдет до меня зачем столько всего нужно было вертеть для казалось бы простой задачки 😄 я не понимаю почему мультиселект так сложно сохранять и обновлять, прям пипец какой то. разработчик не использует наверное его и подзабили, а может я скоро пойму чо к чему и это станет легко 😄
Sergey
yeap
Anonymous
Подскажите как в плагине select2 от kartik, прописать option group, на сайте плагина есть демо как в группы вставить иконки, а как задать названия самих групп, непонятно
Иван
Народ. Имеется куча разных моделей для форм. Унаследованы кто от чего, общего класса, кроме base/Model нет. У меня задача на все навесить некую защиту от спама (добавлю поле, заполняемое и буду проверять). Как можно адекватно, без копипасты им что-то общее прилепить? Через трейт?
Иван
Или в yii2 есть свои решения на этот счёт
who are you
а через конфиг нельзя подрубить некое поведение?
Иван
а через конфиг нельзя подрубить некое поведение?
да я хз, в yii не шарю, вот и спрашиваю как тут такие вещи принято решать
Иван
Event on Model::EVENT_BEFORE_VALIDATE и там валидируй..
Хм. Тогда возникает вопрос откуда обработчик вешать?
👀
А речь не про csrf
Насколько я понял, вам нужно отсекать формы, отправленные не вручную
Иван
Насколько я понял, вам нужно отсекать формы, отправленные не вручную
Спамеры прекрасно обходят csrf и отправляют форму как она есть на сайте вместе со всеми скрытыми полями, при этом не забывая перед отправкой всю эту форму с сайта и получить. А вот js они почему-то выполнять не любят и, если какое скрытое поле будет заполнятся уже в браузере чем-то в роде 1+2, то от людей будет приходить 3, а от ботов ничего или что угодно другое.
Иван
Во всяком случае почти весь спам с виагрой из форм это обычно отсекает.
👀
Мне кажется, что в вашем случае стоит использовать captcha
👀
Сейчас есть у Гугла капча, которую не нужно нажимать, или если не хотите у Гугла - в yii есть элемент captcha
Иван
Мне кажется, что в вашем случае стоит использовать captcha
неее, этот метод прекрасно без неё работает
👀
Ну правильно) через js число не установили
Иван
вопрос только в том, чтобы корректно это в сайт на yii всунуть
👀
Я не знаю что у вас за проект, и где конкретно эта, или другие, формы находятся Если нет такой возможности - делайте костылями, но надежность такого метода довольно низкая (при желании, "спаммеры" найдут что там поправить, чтобы "пошло")
Иван
Нет у них такого желания. Эти формы на почту админам ведут. Что-то подправлять ради канала с 0 конверсией никто не будет никогда.
mrG1K
Хм. Тогда возникает вопрос откуда обработчик вешать?
А эт не подскажу точно , ну примерно можно при инициализации в бутстрапе мб есть кто подскажет более красивое и правильное решение
Toly
@Ivan_0x9d8e 1. Делаешь Yii компонент, который грузится при запуске приложения (добавить в bootstrap) 2. Компонент биндит дополнительную валидацию на \yii\base\Model. 3. Компонент биндит обработчик на ActiveForm::EVENT_INIT чтобы вставлять этот код во все HTML формы
Toly
Итого получаешь нулевое вмешательство в код приложения и, при необходимости отключения такого поведения, вырубаешь компонент из автозагрузки
Иван
То что надо
Toly
Возможно, у ActiveForm другое событие будет удобней использовать, сам уже разберёшься
Toly
Исполнение JS на сайте - слишком дорого в масштабах спама
Иван
@Ivan_0x9d8e 1. Делаешь Yii компонент, который грузится при запуске приложения (добавить в bootstrap) 2. Компонент биндит дополнительную валидацию на \yii\base\Model. 3. Компонент биндит обработчик на ActiveForm::EVENT_INIT чтобы вставлять этот код во все HTML формы
Что-то я плохо понимаю события в yii. Я же не могу повесить обработчик, скажем, на EVENT_BEFORE_VALIDATE всех моделей. Метод on не статический и статические поля не юзает, т.е. максимум что я могу, это повесить обработчик на... конкретный экземпляр. Толку от этого примерно 0.
Toly
Можешь
Toly
Event::on(class, name, handler)
Toly
Как-то так
Иван
Аа, ничёси
Иван
Спасибо
Иван
Если там класс Model указан, то и на наследников распространяется?
Toly
Да
Иван
Крутяк
who are you
а бывает зацикливание событий? ну то бишь обработчик события создает событие и сам же на него срабатывает, ка кто так
who are you
?
Иван
Думаю не сложно это устроить)
Dmytro
Есть ограничения в глубине стека вызовов
Dmytro
а бывает зацикливание событий? ну то бишь обработчик события создает событие и сам же на него срабатывает, ка кто так
Dmytro
Упадёт быстро
🛸
Всем привет. В console , в контроллере с именем updater создаю метод __construct($param1,$param2) { var_dump($param1);} в итоге возвращается имя конструктора , я видел в доках , но не понимаю. Почему так нельзя или что я не так делаю ? (Вызываю как надо php yii2 updater "param 1 value" "param 2 value" Хочу сделать как в книжках пишут умных(про ооп и тп) , про обработку разных типов файлов
🛸
public function beforeAction($action) { print_r(Yii::$app->getRequest()); // так вот получилось в итоге
SiZE
или объявить публичные атрибуты и тогда через —param="123"
SiZE
class Updater extends yii\console\Controller { public $param3 = false; public function actionIndex($param1, $param2); } ./yii updater "param1" "param2" —param3=1
🛸
Спасибо !
Sergey
это как?
George
а зачем в одной ветке должно быть две версии проекта?) Почему две версии не могут просто жить в двух разных ветках? Бредово как-то звучит вопрос.
Амаль
git checkout branch_1 .... huyak huyak huyak git commit -a -m "huyak huyak" git checkout branch_2 ... huyak huyak huyak git commit -a -m "huyak huyak" git push
SiZE
А? Что? :)
Anonymous
-am можно использовать )
Амаль
это что?
работа в двух ветках
Sergey
филиал git book?