Stas
он на этой версии собакена съел без закуси
mr.
Мне просто легаси попалось, надо быстро пофиксить, а я догнать не могу
Stas
правда тут что то давненько его невдно попробуй еще в гиттере напиши или нга почту (у него вроде где то на гитлабе была указана вроде)
mr.
Не могу OR условие собрать через обёртку которая как-то магически работает
mr.
Чувствую себя аутистом
mr.
mr.
@za4me запускай блокнот, я на джумлу пошел, ваш йии сложный.
SiZE
->query = [/* и погнал */]
Anonymous
Господа, всем привет) Хотел бы с Вами посоветоваться и спросить насчёт нескольких моментов: (Дисклеймер - нуб жёсткий, начал недавно все это дело изучать :)) Работа со связанными моделями, к примеру, есть user/profile модели, и, допустим, менеджер/админ хочет создать нового пользователя не с помощью регистрации, а обычной формы заполнения. (Редактирование/удаление сего действа реализовано, регистрация пользователя через транзакции так же реализовано) Вопрос в следующем - как лучше поступить в данном случае (подозреваю, что тут с помощью событий, но тут тогда возникает ещё один вопрос - где-то можно посмотреть подробный пример использования события на таком типе таска) И второй вопрос - есть задача - таблица заказов (orders) и таблица "логов" заказа (order_log_status). То есть, допустим, в зависимости от изменения статуса заказа каждый раз "логируется" статус, превращая в новую запись в таблице "order_log_status". Как в этом случае лучше поступить, как Вы в таких случаях поступаете и решаете данные таски, и в случае чего, что по-рекомендуете почитать по этой теме, дабы разобраться в этом (предполагая вариант документации, уточню тогда - какой раздел)?😊
John
кто то сталкивался с такой проблемой ? при генерации модели в gii выскакивает такая ошибка... http://joxi.net/LmGVbk0SeG8y8r.png
Niko
Для чего мы производим валидацию полей в ModelSearch, если одинаково производим фильтр по полученным параметрам при каждом запросе? Только, чтоб подсветить поле и указать, где ошибочный ввод???
Niko
Где происходит вызов валидации ModelSearch? Не могу найти вызов ->validate() и посмотреть, что происходит с ошибками в DataProvider
Aleksandr
Где происходит вызов валидации ModelSearch? Не могу найти вызов ->validate() и посмотреть, что происходит с ошибками в DataProvider
это обычная модель, правила валидации применяются к фильтрам так же как и в любой activeform.
Niko
это обычная модель, правила валидации применяются к фильтрам так же как и в любой activeform.
Спасибо! Т.е. если параметр находится в errors, тогда по нему фильтр не производится?
Aleksandr
@maximniko выдаст ошибку просто под полем, что что-то не так и все, искать не будет конечно
Niko
Для чего у ModelSearch по-умолчанию идет наследование от Model extends ActiveRecord? Имеет ли это значение для работы ModelSearch или я могу отнаследоваться от yii\base\Model и ничего не сломается?
Aleksandr
сломается
Karim
сломается
что сломается?
Aleksandr
что-нибудь да сломается
Aleksandr
))
Niko
😂😂😂
Karim
Поля просто определишь в серч модели, которые используются для фильтра и норм все будет
Borys
Моё увожение
Aleksandr
что сломается?
я вот три дня не трогаю ничего, и ничего не ломается - это прямо лучший подход
Niko
Поля просто определишь в серч модели, которые используются для фильтра и норм все будет
Ну это я понимаю Но походу ModelSearch зря наследуется от Model extends ActiveRecord, Можно наследоваться от base\Model, а валидация полей для красоты, чтоб на фронте ошибки показать
Aleksandr
Ну это я понимаю Но походу ModelSearch зря наследуется от Model extends ActiveRecord, Можно наследоваться от base\Model, а валидация полей для красоты, чтоб на фронте ошибки показать
можно от Model наследоваться, тут active record не используется никак, а сам Active record наследуется в любом случае от модели
Niko
я тоже обычно gii сгенерировал и пользуюсь, но в моей логике некоторые места нужно инкапсулировать И тут я не понял, зачем ActiveRecord и валидация полей вообще в ModelSearch Уже разобрался Всем спасибо
Niko
Тогда скажите еще одну вещь В go например появляется ошибка в случае, если мы подключаем неиспользуемый пакет в проект Влияет ли на производительность или колличество выделенной памяти в php такое как: 1. Какое количество файлов подключено в php через use? 2. Объединение нескольких файлов файлов при их подключении yii\base\{ Request, Response } 3. Какой уровень наследуемости использовать? (yii\base\Model или yii\base\ActiveRecord) ???
Niko
Active record - если работаешь с бд. Model - если делаешь ее сам. Например для валидатора
ok. А на количество памяти или быстродействие это влияет? Стоит ли заморачиваться с такими штуками?
Дмитрий
Не стоит
Aleksandr
@maximniko на средних проектах можно вообще не думать о таких вещах. в любом случае у yii2 очень все намудрено с наследованием. по возможности лучше вообще простые классы использовать. а вот о чем стоит задумать в крупных проектах - это о работе с бд. прослойка которая в yii идет намного медленее, чем просто чистые запросы. Опять же это реально заметно только при большом количестве запросов, от 100 000.
Niko
спасибо!
Айбулат
всем привет, подскажите, пожалуйста, как разделить обычные контроллеры и ajax-контроллеры: controllerMap не позволяет указывать контроллер вида ajax/controller1, можно, конечно, сделать через модуль ajax, но это так себе, ведь? + можно urlRules побаловаться, но хз.
Дмитрий
ajax
Айбулат
создать в контроллерах папку
это да, сделал. Мне больше роутинг интересует
Дмитрий
ну и все. теперь обращаешься к ajax\controller
Дмитрий
профит
Айбулат
лол, как он поймет сам, что я туда обращаюсь?
Айбулат
делаю я запрос /ajax/controller1/, он не пойдет в нужную папку
Павел
А ты в урл менеджере пропиши и пойдет
Evgenii
Как сделать так, чтобы не выбирались данные из связанной таблицы? $category = Category::find() ->select(['category.id']) ->where(['in', 'category.id', $categoryIds]) ->innerJoinWith('categoryEn cat_en') ->andWhere(['cat_en.alias' => $matches['category']]) ->one();Дока говорит, что нужно передать в функцию джоина false в качестве второго параметра. Но резултатат выборки такой же.
Айбулат
А ты в урл менеджере пропиши и пойдет
все-таки это тру решение? модуль не лучше будет?
Павел
Все зависит от задачи
Павел
Вообще yii умеет определять тип запроса и автоматом отдавать ответ в нужном формате, поэтому не всегда надо разделять контроллеры
Павел
Есть смысл разделять если у тебя чисто ajax контроллеры
Павел
А модуль смысл имеет делать только если он рулит изолированным функционалом. Чисто из-за контроллера нет смысла
Айбулат
то есть, тупо в urlManager прописать правила под мой случай?
Павел
Так тебя никто и не заставляет
Айбулат
Павел
Да про все
Айбулат
но мне же нужно разделить!(
Павел
то есть, тупо в urlManager прописать правила под мой случай?
Павел
Айбулат
ок, спасибо!
Айбулат
хотя, погоди) разве я могу направлять в urlManager в определенную папку или контроллер?
Айбулат
там же тот же роутинг используется
Vitaly
все-таки это тру решение? модуль не лучше будет?
имхо модуль лучше будет. Ты там с роутингом париться не будешь (вроде вообще в yii нельзя указать, чтобы он для /ajax/* искал контроллеры в отедльной папке, можно только для всех контроллеров неймспейс указать) + тебе это даст возможность для всего модуля задать кастомные ошибки, response format и прочиие специфические штуки для ajax
Vitaly
ну как нельзя-то, если указывается карта контроллеров, можно любые чудеса с ссылками делать
как я понял, ему надо, чтобы, например, на ajax/user/create вызывался контроллер app/controllers/ajax/UserController::actionCreate() как ты это укажешь в controllerMap?
Aleksandr
http://www.yiiframework.com/doc-2.0/guide-structure-controllers.html#controller-ids
Айбулат
https://github.com/yiisoft/yii2/issues/7899
Vitaly
http://www.yiiframework.com/doc-2.0/guide-structure-controllers.html#controller-ids
да, ошибался, я думал, он только поддерживает одноуровневые названия. Но для кейса с ajax все равно думаю, что лучше в отдельный модуль
Айбулат
я видел этот вариант, но думал, что есть другие решения, все-таки сделаю с controllerMap, так как модуль не подходит по смыслу, спасибо!
Aleksandr
модуль по своей природе должен хранить какой-то независимый блок. если в нем будут контроллеры, которые зависят от окружения, то это нарушает логику
Aleksandr
да
Aleksandr
у меня структура полностью построена поверх yii, чтобы все было разделено так, чтобы над отдельным модулем могла работать любая команда или разработчик, при этом никак не затрагивая саму систему
Aleksandr
а у тебя все модули в yii изолированы и независимы?)
модуль может быть зависимым от другого модуля, как пример CRM система: 1) модуль клиента - самостоятельный 2) модуль каталога - самостоятельный 3) модуль заказа - связывает клиента и каталог, соответственно он зависимый