Niko
ребята, а как вы ловите restrict внешнего ключа? есть какиенить best practices или надо руками в beforeDelete писать?
Ставлю рестрикт там, что удаляться не должно в принципе, и произвожу валидацию, говорящую "За этим пользователем закреплены посты, поэтому его нельзя удалить"
Niko
Кастомную проверку на существование связанных объектов, прописывая ее в rules
Nastya
Кастомную проверку на существование связанных объектов, прописывая ее в rules
покажите, будьте добры, если это возможно. можно в личку
SiZE
Простой пример, генерация slug при обращении.
SiZE
Запись происходит в таблицу с уникальным индексом
SiZE
Два пользователя одномоментно запросили запись
SiZE
у обоих прошла валидация
Alexey
serializable транзакция в помощь
SiZE
serializable транзакция в помощь
ммм.. как она поможет ? залочить таблицу что ли?
SiZE
)))
SiZE
ну по мне так проще обработать эксепшен и получить slug из бд
Niko
Два пользователя одномоментно запросили запись
Я понял речь шла про удаление данных и невозможность ужалить обьект из-за рестрикта
Alexey
Лок + повторная валидация при взятии лока
SiZE
Я понял речь шла про удаление данных и невозможность ужалить обьект из-за рестрикта
да без разницы чо там. между валидацией и удалением есть промежуток времени, в который может появиться запись
Alexey
Ну мутексы
Alexey
Или
SiZE
Лок + повторная валидация при взятии лока
лок на больших таблицах, особенно с запросами к сторонним системам приведет к deadlock
SiZE
лучше избегать этого
SiZE
ну так обработать эксепшен )
SiZE
это ж не фатал
Alexey
Не всегда кстати бывает эксепшн
SiZE
Не всегда кстати бывает эксепшн
в каком случае не будет эксепшена при попытке удаленить ФК с RESTRICT?
Alexey
С фк вроде всегда будет
Alexey
Но мы юзаем https://github.com/yarcode/yii2-tools-yarcode/blob/master/src/Traits/FragileModelTrait.php
SiZE
я загуглил, там конечно очень специфичные случаи
Alexey
Бывает что кривые обработчики событий не дают сохранять модели
Anonymous
Окей, спасибо за советы)
Anonymous
да, именно так)
👀
ребята, есть пхп олдфаги здесь? такие, что с 5.2 где-то на этих галерах
👀
объясните мне, пожалуйста, что за хуйня здесь происходит
👀
👀
а главное, почему на php 5.4 (на специально поднятой под этот код виртуалке) оно работает?
who are you
'<action>' => 'site/<action>', а как сделать условие - кроме site/pages
👀
сделай правило для site/pages над этим
who are you
а вообще условие кроме как оформляется в рулесах урл менеджера ?
👀
а, блинский, я понял чё те надо регуляркой можно же
who are you
http://www.yiiframework.com/doc-2.0/guide-runtime-routing.html тут так много на английском я запутался уже
who are you
<action:(update|delete)> вот так условие или
👀
я особо сильно в правила маршрутизации не вникал, тут есть те кто могут подсказать как кастомное правило написать меня всегда выручали регулярки :)
Иван
http://www.yiiframework.com/doc-2.0/guide-runtime-routing.html тут так много на английском я запутался уже
https://github.com/yiisoft/yii2/blob/master/docs/guide-ru/README.md Вот на Русском жеж
👀
Short open tag php
Это я знаю Что такое void()?
who are you
кароч не знаю как сделать отрицание в правилах урлменеджера (
Niko
Это я знаю Что такое void()?
Функция такая! Если на Php.net не найдешь - ищи в коде
👀
Нету ни там, ни в коде
who are you
'<action>' => 'site/<action>', '<alias>' => 'site/pages', нужно чтобы первое правило не реагировало если там экшн из второго правила
Niko
Нету ни там, ни в коде
А как это отрабатывает?
👀
Знаю только что код писал человек, который далёк от PHP 5.4 даже
👀
Никак Это же в начале файла, после открывающего тега
👀
На первой строке всё :) и больше нигде
SiZE
Проверь function_exists
who are you
хотя нее 😂 удалю преждевременную радость, чую чот не то
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Ещё раз, какие тут ещё варианты могут быть?
who are you
Ещё раз, какие тут ещё варианты могут быть?
/site/news /site/gallery /site/pages?alias=unification /site/pages?alias=docs
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
/site/news /site/gallery /site/pages?alias=unification /site/pages?alias=docs
'<action:(gallery|news)>' => 'site/<action>',
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
ну или как-то так, не помню точный синтаксис
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
а следующее уже '<alias>' => 'site/pages',
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
вот же, в доке все есть 'rules' => [ '<controller:(post|comment)>/create' => '<controller>/create', '<controller:(post|comment)>/<id:\d+>/<action:(update|delete)>' => '<controller>/<action>', '<controller:(post|comment)>/<id:\d+>' => '<controller>/view', '<controller:(post|comment)>s' => '<controller>/index', ]
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
http://www.yiiframework.com/doc-2.0/guide-runtime-routing.html
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
угадал с синтаксисом)
who are you
что можно еще заюзать кроме колорбокс для листалки картинок в сплывающем окошке?
👻
фенси бокс помоему умел
WhiskeyMan
Добрый вечер
Артур
всем привет)
Артур
http://auto-parts.space/motoservis
Артур
пункт меню мотосервис
Артур
юзаю виджет Меню
Артур
как для вложенных li прописать свой класс ?
WhiskeyMan
Товарищи, не подскажете, что происходит с веб приложением на yii2, когда оно запускается не из браузера. У меня проблема, где-то оно завершает свою работу, как мне кажется. Запросы идут с сервера телеграм. Я только начинаю изучаться Yii2 :) Заранее спасибо!
Артур
echo $widget::widget([ 'items' => $items, 'options' => $options, 'linkTemplate' => $linkTemplate, 'submenuTemplate' => $submenuTemplate, 'itemOptions' => [ 'class' => 'menu-item-has-children arrow', ], ]);
Артур
мой код по виджету)