Evgeny
возможно всё, но релейшн будет запрашиваться когда нужно и когда не нужно. Лишние джоины во всех местах не нужны
Руслан
хотя да, если нужны модели то лучше через связи
(;¬_¬)
(;¬_¬)
Плюс столбцы с одинаковым именем перекроются при .*
Павел
(;¬_¬)
(;¬_¬)
То не ленивая была бы
Evgeny
ленивая = два запроса
Evgeny
а мне нужен один завпрос и только в этом месте
Evgeny
если можно было бы выбрать какую связь в конкретном случае подключить, то было бы курто
Evgeny
у меня как раз цикл ->all
Павел
Павел
Павел
https://habrahabr.ru/post/306248/
Кирилл
День добрый, кто-нибудь подключал vuejs во вьюхи. Как это корректно делать?
Roman
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> мне для этого нужно компонент отдельно создавать?
Павел
ладно, я понял, спасибо, опять неделю всё это изучать, чтобы хоть что-то понять
Darumdam
<title><?= \app\models\Setting::get('site_title') ?> - <?= Html::encode($this->title) ?></title>
Павел
Павел
Artem
Значит подключил как-то неправильно)
SiZE
Alexander
Anonymous
Всем привет
Вопрос такой есть - допустим, надо получить вид чекбокса, как в верстке (верстка его такова: http://i.prntscr.com/JIp5ClW9SC_ZQg-V0r6dIw.png)
И как понимаю, надо отдельно в методе checkbox() этот template втулить
Вопрос - как грамотнее всего это сделать?
SiZE
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
SiZE
Лёша
А как это сделать?
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
SiZE
или увеличь время или количество попыток
Niko
Попробуй использовать очередь redis, а не db
Зачем лишние запросы к MySQL, он же и так всегда нагружен
Сергей
Но задач-то не было по этой очереди, то есть там ничего не выполнялось.
И возникает ошибка очень редко... не понятно
Leta
Всем привет 👋 Не подскажите как ускорить время выполнения запроса с подзапросом. Есть запрос, который получает список данных. Из этого списка берется id и отправляется в другой запрос. Все происходит очень долго. Есть ли способ ускорить это?
Сергей
Индексы проверь
Сергей
И запрос покажи)
Сергей
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)
Niko
Сергей
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
Niko
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
перед сейвом удалять все линки ? 😳
Niko
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