Сергей
Примеры 2 и 3
Сергей
через запятую
Сергей
use ($a, $b)
Anonymous
Ok 👍🏻
Nastya
Anonymous
О_о воу воу
Anonymous
две девушки в чате программистов
Anonymous
два единорога в одном поле
Niko
А кто вторая? Настя, а кто еще?
Anonymous
барбара, не?
Artem
Чет сексизм какой-то)
Просто Yii настолько топовый framework, что не то что разрабы, а даже он сам женщин притягивает 🤔
Niko
барбара, не?
у меня сомнения) фотки нет, имя явно липовое
Vladislav
@maximniko +
Vladislav
На самом деле девушки программистки не такая уж и редкость))
Anonymous
думаешь волосатый и бородатый мужик?
PowerAxis
Барбара - это ловкий пацик, который прикинулся девушкой чтоб ему быстрее ответили
Vladislav
@dzhedai ага по имени Игорь)
Anonymous
Anonymous
Anonymous
а оказывается надо писать сидя)
PowerAxis
Anonymous
Скорее всего)
Vladislav
@Azrael37_Al_Maut мне попадались девушки бэки, но почему то зачастую они как минимум странные =D
Vladislav
с профессиональным переломом мозга
Anonymous
Да, есть такое))))
Vladislav
ну это чисто профессиональные штучки
Vladislav
это нормально
Anonymous
P.S.
Привет всем еще раз
Вопрос такой - есть таблица user, profile, wallet
В profile поле user_id и wallet_id (сразу же вопрос в студию, правильна ли связь, и стоит ли поменять)
Делаю я соответвенно регистрацию пользователя (где, к примеру, при регистрации пользователя сразу создается еще поле в профайле (что сделано таким образом - http://prntscr.com/ie5xyh))
Таким же образом делать надо и с кошельком? Кто с подобным сталкивался?
PowerAxis
А в чем вопрос? Что-то не работает?
Иван
P.S.
Привет всем еще раз
Вопрос такой - есть таблица user, profile, wallet
В profile поле user_id и wallet_id (сразу же вопрос в студию, правильна ли связь, и стоит ли поменять)
Делаю я соответвенно регистрацию пользователя (где, к примеру, при регистрации пользователя сразу создается еще поле в профайле (что сделано таким образом - http://prntscr.com/ie5xyh))
Таким же образом делать надо и с кошельком? Кто с подобным сталкивался?
1) У тебя за регистрацию отвечает форма. Я бы на форму не возлагал эту ответственность, а вынес бы логику в сервис
2) Форму заполняешь в контроллере, и передаешь параметром в сервис (SignupService::signup($form)). Это чтобы из сервиса не дергать Yii::$app->request
3) Можно и так, как ты сделал, ничего шибко страшного нет, но у тебя кишки создания юзера и профиля вывалены наружу. Я бы инкапсулировал в методы User::create($username, $email ...) и Profile::create( $userId ... )
4) $user->link тоже спрятать приятно при помощи поведения https://github.com/la-haute-societe/yii2-save-relations-behavior
А в целом мыслишь верно
PowerAxis
а еще можно сервис инжектить в конструкторе контроллера... но мне кажется, он что-то другое спрашивал
Gennadiy
и $user->save() вне транзакции
Niko
Gennadiy
я откуда знаю, спроси у автора
Gennadiy
=) ну правильней наверное сохранение пользователя тоже в транзакции делать
Niko
Наверно как компонент правильней
Они же не могут быть самостоятельны
Смотря еще что ты имеешь ввиду "компонент"
Gennadiy
я вот за годы так и не научился модули писать, не получается создать что то обособленное от проекта, все какое то специфическое
Anonymous
1) Есть ли у тебя пример сервиса? Я просто не совсем доганяю ._.
2) "$user->link тоже спрятать приятно при помощи поведения https://github.com/la-haute-societe/yii2-save-relations-behavior"
Скинул это, как пример, и советуешь юзать?
(Глупые вопросы, но все-таки)
Anonymous
1) У тебя за регистрацию отвечает форма. Я бы на форму не возлагал эту ответственность, а вынес бы логику в сервис
2) Форму заполняешь в контроллере, и передаешь параметром в сервис (SignupService::signup($form)). Это чтобы из сервиса не дергать Yii::$app->request
3) Можно и так, как ты сделал, ничего шибко страшного нет, но у тебя кишки создания юзера и профиля вывалены наружу. Я бы инкапсулировал в методы User::create($username, $email ...) и Profile::create( $userId ... )
4) $user->link тоже спрятать приятно при помощи поведения https://github.com/la-haute-societe/yii2-save-relations-behavior
А в целом мыслишь верно
Иван
Anonymous
А
Иван
Параметром в метод помести форму
Иван
Внутри сервиса данные бери только из формы, не дергая реквест, и прочие слои фреймворка
Иван
2) да
Anonymous
Это получается, что в классе формы оставить только правила и переменные?
Anonymous
http://prntscr.com/ie76nt
Тип это только?
Nastya
ребята, а как вы ловите restrict внешнего ключа? есть какиенить best practices или надо руками в beforeDelete писать?
Alexey
Упадёт же
Сергей
Народ, а кого есть свои сайт/блоги? Речь именно про персональный сайт, например, как у Sam Dark: rmcreative.ru
Поделитесь, интересно :)
SiZE
Nastya
в exception
в контроллере, что ли? ну в смысле любой вызов в try оборачивать?
SiZE
Alexey
Dmitriy
Nastya
я понимаю. меня интересует, есть ли какойнить из коробки способ проверить, можно ли удалять эту запись, и если нет, то дать инициатору знать, почему
SiZE
👀
я понимаю. меня интересует, есть ли какойнить из коробки способ проверить, можно ли удалять эту запись, и если нет, то дать инициатору знать, почему
я, канешн, не претендую на последнюю инстанцию, но:
1. из коробки есть try ... catch (уже все об этом сказали)
2. ты разве когда базу делаешь, заранее не знаешь, какие модельки будут с форейджн кеями? Вот в тех, что за собой что-то тянут, в beforeDelete удаляешь "зависимости"
3. удалять лучше не удаляя
Nastya
мне надо сказать пользователю, который ткнул на dlete: дорогой товарищ, это удалять нельзя, потому что на него ссылаются те и те сущности. разберитесь сначала с ними
Nastya
пометка удаления мои проблемы решит, но не так, как я хочу
👀
ну такого нету
нужно самому делать
фреймворк же это не ЦМСка, а просто инструмент :)
Nastya
спасибо, это все, что я хотела узнать
👀
не за что :)
SiZE
👀
точно
если вызов $model->delete() обернуть в try ... catch, для конкретного случая можно будет решить
👀
но только местно
для всей системы придётся грабли городить
Nastya
ну в контроллере этому не место
Nastya
ладно, спасибо еще раз
SiZE
ну в контроллере этому не место
try {
$model->delete();
} catch (\yii\db\IntegrityException $e) {
Yii::$app->session->setFlash('success', "Your message succesfully deleted :D");
}
SiZE
SiZE
ой
SiZE
всмысле почему это?
👀
чёт я на сторону SiZE сейчас метнусь, но всё норм
SiZE
👀
делать промежуточную модель для удаления модели, когда в модели есть метод ->delete()?
👀
пока писал, почувствовал себя электронщиком экзибита