@yii2ru

Страница 940 из 1721
Ceyhun
05.02.2018
06:18:02
Всем привет. SluggableBehavior прекрасно работает, когда создается или обновляется модель. При $nav_lang->link('nav', $model); не срабатывает
model (nav) и nav_lang связаны между собой по внешнему ключу (при сохранении все правильно отрабатывает).

model (nav) и nav_lang связаны между собой по внешнему ключу (при сохранении все правильно отрабатывает).
проблема в том, что при линковке и сохранении не отрабатывает behavior - слаг не апдейтится

Ceyhun
05.02.2018
06:19:05
via есть в связи?
нет. one to many public function getNav() { return $this->hasOne(Nav::className(), ['id' => 'nav_id']); }

Google
SiZE
05.02.2018
06:20:29
https://github.com/yiisoft/yii2/blob/master/framework/db/BaseActiveRecord.php#L1545 смотри сохраняется только одна модель

и видимо не та что содержит поведение

и валидация не учитывается кстати

SiZE
05.02.2018
06:23:14
короче продебажить 5 минут это все

там в трех местах var_dump exit расставить чем тут писать

за одно и сам разберешься и нам расскажешь :)

Maxim
05.02.2018
06:49:28
как-то через жопу оно сделано. и неймспейсы и подчеркивания... подчеркивания использовали до 5.3 или когда там неймспейсы завезли
Проект сейчас на 7.1 работает))) С тем, что намешали, ничего не поделаешь( Я хотел автоподстановку)))

Katulos
05.02.2018
07:07:05
Ммм Zend

Google
Katulos
05.02.2018
07:07:13
Как много в этом слове

Maxim
05.02.2018
07:07:20
Zend
В смысле плагин поможет

SiZE
05.02.2018
07:08:25
В смысле плагин поможет
Я предположил ) Зенд раньше так парсил имена классов.

Katulos
05.02.2018
07:08:50
дык PEAR же

Это его стиль написания

Только зачем неймспейсы туда звезли?

Ceyhun
05.02.2018
07:15:32
за одно и сам разберешься и нам расскажешь :)
поскольку при линке внешняя модель сохранялась без валидации, то не срабатывало поведение. 'attributes' => [ ActiveRecord::EVENT_BEFORE_INSERT => ['slug'], ActiveRecord::EVENT_BEFORE_UPDATE => ['slug'], ],

Ceyhun
05.02.2018
07:18:09
Уверен? insert и update ведь не зависят от валидации
именно. Поэтому и добавил их в Sluggable Behavior

Уверен? insert и update ведь не зависят от валидации
поведение срабатывало только после валидации. поэтому добавил, чтобы перед инсертом и апдейтом он срабатывал

SiZE
05.02.2018
07:19:51
А, т.е. у тебя вместо ActiveRecord::EVENT_BEFORE_INSERT было ActiveRecord::EVENT_BEFORE_VALIDATE?

Ceyhun
05.02.2018
07:20:14


SiZE
05.02.2018
07:20:33
https://github.com/yiisoft/yii2/blob/master/framework/behaviors/SluggableBehavior.php#L134 ну ясно. да.

Ceyhun
05.02.2018
07:20:49
да.

Спасибо за помощь

SiZE
05.02.2018
07:21:24
?

Evgeny
05.02.2018
07:28:26


Народ, что за балет?

Google
Evgeny
05.02.2018
07:29:12
вот такой запрос с джоином есть он создает следующий SQL SELECT `tenders`.*, `categories`.* FROM `tenders` LEFT JOIN `categories` ON categories.id = tenders.cat_id WHERE `author_id`=1 если выполнить его в бд, то все заебись, он возвращает данные с обеих таблиц: и тендеров и категорий но если я задебажу (вардамп) на 88 строке, то не вижу данных приджоинной таблицы категорий че за нах

Павел
05.02.2018
07:29:57
Точно такой sql создаёт?

Evgeny
05.02.2018
07:30:10
да

Павел
05.02.2018
07:30:34
А через релейшены нельзя сделать тоже самое?

Зачем ручной джойн?

Ruslan
05.02.2018
07:31:05
вообще лучше сделать через new Query и конкретно указать from таблицу

Evgeny
05.02.2018
07:31:41
возможно всё, но релейшн будет запрашиваться когда нужно и когда не нужно. Лишние джоины во всех местах не нужны

Ruslan
05.02.2018
07:31:48
хотя да, если нужны модели то лучше через связи

(;¬_¬)
05.02.2018
07:42:39
Один ко многим ленивая загрузка всегда
Если бы делал через with явный

(;¬_¬)
05.02.2018
07:42:45
То не ленивая была бы

Evgeny
05.02.2018
07:50:35
ленивая = два запроса

а мне нужен один завпрос и только в этом месте

если можно было бы выбрать какую связь в конкретном случае подключить, то было бы курто

Saško
05.02.2018
07:51:19
ленивая = два запроса
Если в цикле, то сколько угодно :) хоть 109. Опасная штука

Evgeny
05.02.2018
07:51:45
у меня как раз цикл ->all

Google
Павел
05.02.2018
07:54:08
https://habrahabr.ru/post/306248/

Кирилл
05.02.2018
08:27:30
День добрый, кто-нибудь подключал vuejs во вьюхи. Как это корректно делать?

Кирилл
05.02.2018
08:30:37
вероятно через ассеты?
https://asset-packagist.org/package/npm-asset/vue-select

Evgeny
05.02.2018
08:31:45
Все уже сделано до нас
Если добавить в модель (основную) доп свойства в соответствии с полями приджоиненной таблицы, например $icon , то он записывает значение из джоиненной таблицы в это свойство ?

навеяло отсюда

http://yiiframework.ru/forum/viewtopic.php?t=31829

но че то есть смутные подозрения что какой-то не самый простой способ я нашел

Кирилл
05.02.2018
08:33:10
вероятно через ассеты?
Кирилл Борисов: 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' ]; }

Admin
ERROR: S client not available

Кирилл
05.02.2018
08:34:32
В секции components: беру как window.vue

Павел
05.02.2018
08:40:01
У тебя связь какая?

Evgeny
05.02.2018
08:40:56
еще не читал, что-то пропустил ссыль. Сейчас открыл.

selipasha
05.02.2018
09:04:59
Всем привет, знаю что за подобные вопросы здесь гонят ссаными тряпками, но я в отчаянии. Нужно чтобы была возможность из админки редактировать название сайта. Что я уже сделал: создал админку, создал модель 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
05.02.2018
09:11:50
selipasha
05.02.2018
09:13:30
А как это сделать?

(;¬_¬)
05.02.2018
09:14:40
сделай компонент и \Yii::$app->settings->get('site_title')

это если в кратце

Google
selipasha
05.02.2018
09:16:26
т.е, чтобы просто вывести запись из БД в <title> мне для этого нужно компонент отдельно создавать?

SiZE
05.02.2018
09:17:24
А как это сделать?
https://github.com/phemellc/yii2-settings

Павел
05.02.2018
09:20:44
т.е, чтобы просто вывести запись из БД в <title> мне для этого нужно компонент отдельно создавать?
Можешь просто получать данные из модели и писать в лейаут. Для этого либо надо тебе переопределить базовый контроллер, который будет все это делать, а от него уже наследовать все свои контроллеры, либо использовать компонент. Тебе уже подсказали какой.

selipasha
05.02.2018
09:21:54
ладно, я понял, спасибо, опять неделю всё это изучать, чтобы хоть что-то понять

Gleb
05.02.2018
09:23:17
<title><?= \app\models\Setting::get('site_title') ?> - <?= Html::encode($this->title) ?></title>

Alexander
05.02.2018
09:27:18
https://github.com/phemellc/yii2-settings
а где-то есть какой-нибудь топ-100 популярных безопасных пакетов?

selipasha
05.02.2018
09:27:51
<title><?= \app\models\Setting::get('site_title') ?> - <?= Html::encode($this->title) ?></title>
Call to undefined method app\modules\admin\models\Settings::get()

Artemy
05.02.2018
09:28:42
Значит подключил как-то неправильно)

SiZE
05.02.2018
09:29:45
Alexander
05.02.2018
09:29:57
Artur
05.02.2018
09:50:54
Всем привет Вопрос такой есть - допустим, надо получить вид чекбокса, как в верстке (верстка его такова: http://i.prntscr.com/JIp5ClW9SC_ZQg-V0r6dIw.png) И как понимаю, надо отдельно в методе checkbox() этот template втулить Вопрос - как грамотнее всего это сделать?

Artur
05.02.2018
10:00:04
<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
05.02.2018
10:52:36
подскажите есть такой метод стандартный и в него почему то попадает событие афтеСенд и из за этого непроходит удаление хотя я весь проект перешерстил и нигде нет навешивания афтесенда и удаления или вообще афтесенда события на делит навешено только занесения времени удаления и все. Как еще можно найти откуда это собьытие афтесенд навешывается. Мозг уже кипит и никак несоображу как его найти.



Alex
05.02.2018
11:14:47
А как это сделать?
https://github.com/lav45/yii2-settings/tree/master/examples/SettingsForm

Artur
05.02.2018
11:58:51
Еще такой вопрос, тоже из разряда верстки в yii2 - кто-то сталкивался с тем, чтобы кастомизировать gridview тоже под свою верстку? Либо уже проще писать все руками?

?
05.02.2018
12:00:11
берешь и пишешь свои стили в чем проблема

Сергей
05.02.2018
12:11:30
Добрый день! Использую стандартные очереди 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
05.02.2018
12:12:09
что-то долго обрабатывалось

Страница 940 из 1721