Evgeny
возможно всё, но релейшн будет запрашиваться когда нужно и когда не нужно. Лишние джоины во всех местах не нужны
Руслан
хотя да, если нужны модели то лучше через связи
(;¬_¬)
Плюс столбцы с одинаковым именем перекроются при .*
(;¬_¬)
Один ко многим ленивая загрузка всегда
Если бы делал через with явный
(;¬_¬)
То не ленивая была бы
Evgeny
ленивая = два запроса
Evgeny
а мне нужен один завпрос и только в этом месте
Evgeny
если можно было бы выбрать какую связь в конкретном случае подключить, то было бы курто
Steel
ленивая = два запроса
Если в цикле, то сколько угодно :) хоть 109. Опасная штука
Evgeny
у меня как раз цикл ->all
Павел
https://habrahabr.ru/post/306248/
Кирилл
День добрый, кто-нибудь подключал vuejs во вьюхи. Как это корректно делать?
Кирилл
вероятно через ассеты?
https://asset-packagist.org/package/npm-asset/vue-select
Evgeny
Все уже сделано до нас
Если добавить в модель (основную) доп свойства в соответствии с полями приджоиненной таблицы, например $icon , то он записывает значение из джоиненной таблицы в это свойство 🙂
Evgeny
навеяло отсюда
Evgeny
http://yiiframework.ru/forum/viewtopic.php?t=31829
Evgeny
но че то есть смутные подозрения что какой-то не самый простой способ я нашел
Кирилл
вероятно через ассеты?
Кирилл Борисов: class VueAsset extends AssetBundle { public $sourcePath = '@npm'; public $js = [ 'vue-axios/dist/vue-axios.min.js', 'vue/dist/vue.min.js', 'vue-select/dist/vue-select.js', 'vue-multiselect/dist/vue-multiselect.min.js', ]; public $css = [ 'vue-multiselect/dist/vue-multiselect.min.css' ]; }
Кирилл
В секции components: беру как window.vue
Павел
У тебя связь какая?
Evgeny
еще не читал, что-то пропустил ссыль. Сейчас открыл.
Павел
Всем привет, знаю что за подобные вопросы здесь гонят ссаными тряпками, но я в отчаянии. Нужно чтобы была возможность из админки редактировать название сайта. Что я уже сделал: создал админку, создал модель Settings (по задумке, в ней будут хранятся все основные настройки по сайту), таблицу в БД с точно таким же названием (settings). В контроллере указал, что обращаюсь к модели Settings, во вьюшке создал форму, в которой при заполении в поле "название сайта", это название сохраняется в таблице в столбце title (в таблице settings только два столбца id и title). И теперь вопрос, как сделать так, чтобы при вводе в форму название сайта, у меня менялось название сайта, а не просто запись в БД? Код модели: https://pastebin.com/2DwPSUVn Код вьюшки: https://pastebin.com/Bhqup6R2 Код контроллера: https://pastebin.com/utw9S5ma Скрин формы: https://imgur.com/a/wV92h
SiZE
Всем привет, знаю что за подобные вопросы здесь гонят ссаными тряпками, но я в отчаянии. Нужно чтобы была возможность из админки редактировать название сайта. Что я уже сделал: создал админку, создал модель Settings (по задумке, в ней будут хранятся все основные настройки по сайту), таблицу в БД с точно таким же названием (settings). В контроллере указал, что обращаюсь к модели Settings, во вьюшке создал форму, в которой при заполении в поле "название сайта", это название сохраняется в таблице в столбце title (в таблице settings только два столбца id и title). И теперь вопрос, как сделать так, чтобы при вводе в форму название сайта, у меня менялось название сайта, а не просто запись в БД? Код модели: https://pastebin.com/2DwPSUVn Код вьюшки: https://pastebin.com/Bhqup6R2 Код контроллера: https://pastebin.com/utw9S5ma Скрин формы: https://imgur.com/a/wV92h
вывести в layout/main.php внутри тега <title>
Павел
А как это сделать?
(;¬_¬)
сделай компонент и \Yii::$app->settings->get('site_title')
(;¬_¬)
это если в кратце
Павел
т.е, чтобы просто вывести запись из БД в <title> мне для этого нужно компонент отдельно создавать?
SiZE
А как это сделать?
https://github.com/phemellc/yii2-settings
Павел
т.е, чтобы просто вывести запись из БД в <title> мне для этого нужно компонент отдельно создавать?
Можешь просто получать данные из модели и писать в лейаут. Для этого либо надо тебе переопределить базовый контроллер, который будет все это делать, а от него уже наследовать все свои контроллеры, либо использовать компонент. Тебе уже подсказали какой.
Павел
ладно, я понял, спасибо, опять неделю всё это изучать, чтобы хоть что-то понять
Darumdam
<title><?= \app\models\Setting::get('site_title') ?> - <?= Html::encode($this->title) ?></title>
Alexander
https://github.com/phemellc/yii2-settings
а где-то есть какой-нибудь топ-100 популярных безопасных пакетов?
Artem
Значит подключил как-то неправильно)
Anonymous
Всем привет Вопрос такой есть - допустим, надо получить вид чекбокса, как в верстке (верстка его такова: http://i.prntscr.com/JIp5ClW9SC_ZQg-V0r6dIw.png) И как понимаю, надо отдельно в методе checkbox() этот template втулить Вопрос - как грамотнее всего это сделать?
Anonymous
<div class="form-group"> <?= $form->field($model, 'rememberMe', [ 'template' => "<div class=\"form-check\">{input}</div>\n<div class=\"col-lg-8\">{error}</div>", ])->checkbox([],false) ?> </div> Примерно так?
Stas
подскажите есть такой метод стандартный и в него почему то попадает событие афтеСенд и из за этого непроходит удаление хотя я весь проект перешерстил и нигде нет навешивания афтесенда и удаления или вообще афтесенда события на делит навешено только занесения времени удаления и все. Как еще можно найти откуда это собьытие афтесенд навешывается. Мозг уже кипит и никак несоображу как его найти.
Stas
Лёша
А как это сделать?
https://github.com/lav45/yii2-settings/tree/master/examples/SettingsForm
Anonymous
Еще такой вопрос, тоже из разряда верстки в yii2 - кто-то сталкивался с тем, чтобы кастомизировать gridview тоже под свою верстку? Либо уже проще писать все руками?
👻
берешь и пишешь свои стили в чем проблема
Сергей
Добрый день! Использую стандартные очереди yii2-queue (последняя версия). Очереди хранится в MySQL. Всего 5 очередей. Конфиг примерно такой: 'carQueue' => [ 'class' => \yii\queue\db\Queue::class, 'as log' => \yii\queue\LogBehavior::class, 'db' => 'db', 'tableName' => '{{%queue}}', 'channel' => 'car', 'mutex' => \yii\mutex\MysqlMutex::class, ], Периодически (раз в день или раз в два дня) в логах появляется ошибка: yii\base\Exception: Has not waited the lock. in /…/vendor/yiisoft/yii2-queue/src/drivers/db/Queue.php:180 Чем это вызвано? Как бороться?
SiZE
что-то долго обрабатывалось
Сергей
Job долго делался?
Сергей
Одна из очередей обрабатывается в 4 потока и именно на обработке этой очереди всплывает ошибка, причем ошибки 3.
Niko
может они один и то же таск выполняют? Один поток завершает его, а у остальных валится Это мое предположение
Сергей
Причем это происходит в момент, когда нет задач в очереди.
SiZE
Одна из очередей обрабатывается в 4 потока и именно на обработке этой очереди всплывает ошибка, причем ошибки 3.
Ну одна запись заблокировала выполнение и другая ожидает когда освободится, не дождавшись падает
SiZE
или увеличь время или количество попыток
Niko
Попробуй использовать очередь redis, а не db Зачем лишние запросы к MySQL, он же и так всегда нагружен
Сергей
Но задач-то не было по этой очереди, то есть там ничего не выполнялось. И возникает ошибка очень редко... не понятно
Leta
Всем привет 👋 Не подскажите как ускорить время выполнения запроса с подзапросом. Есть запрос, который получает список данных. Из этого списка берется id и отправляется в другой запрос. Все происходит очень долго. Есть ли способ ускорить это?
Сергей
Индексы проверь
Сергей
И запрос покажи)
Leta
Индексы проверь
что это значит? 😔 🙄
Сергей
https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D0%B4%D0%B5%D0%BA%D1%81_(%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85)
Сергей
https://ruhighload.com/post/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0+%D1%81+%D0%B8%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%D0%B0%D0%BC%D0%B8+%D0%B2+MySQL
Anonymous
foreach ($model->cat as $category_one) { $category_model = CatalogCategory::findOne($category_one); $propertiesCategoryLinks_model = new PropertiesCategoryLink(); $propertiesCategoryLinks_model->category_id = $category_model->id; $propertiesCategoryLinks_model->property_id = $model->id; $propertiesCategoryLinks_model->save(); } подскажите пожалуйста. так я сохраняю линки указанные в форме чекбоксами но если убрать галочку с чекбокса он не отправляется в запросе в итоге связь не понятно как убрать. Что делать?
Anonymous
перед сейвом удалять все линки ? 😳
Anonymous
PropertiesCategoryLink::deleteAll(['property_id' => $model->id]); foreach ($model->cat as $category_one) { наверное это меня выручит)
Anonymous
да 😊
Anonymous
что это значит? 😔 🙄
База данных не хранит в памяти индексы, поэтому она долго у тебя работает. Тебе нужно их добавить на те поля по которым происходит выборка данных в твоих запросах
Andrey
Есть: контроллер ConfigController. в нем actionPrices. Т.е. урл: .../config/prices Надо: добавить контроллер PricesController с actionEdit чтобы находился по урлу .../config/prices/edit Почитал тут http://www.yiiframework.com/doc-2.0/guide-structure-controllers.html#controller-class-naming но что-то не работает. Вопросы: 1. какую(ие) поддиректории надо создать где будет класс PricesController? 2. какой namespace должен быть у PricesController?
Andrey
подскажите плз кто сталкивался
Алексей
В контроллерах делаешь папочку config и кладешь туда свой Prices контроллер. Неймспейс с учетом папок, те. namespace frontend\controllers\config