Size: a a a

2020 September 30

AS

Alex Sin in Laravel UA
Павел
А полиморфные руками отслеживать?
Подскажите, а разве это необходимо?
источник

П

Павел in Laravel UA
Вот у меня таблица напоминаний. Каждому пользователю надо напомнить и выслать модель. Если модель удалена из своей таблицы, что отправлять пользователю?
источник

П

Павел in Laravel UA
источник

AK

Alex Kovalchuk in Laravel UA
Павел
Вот у меня таблица напоминаний. Каждому пользователю надо напомнить и выслать модель. Если модель удалена из своей таблицы, что отправлять пользователю?
мож обсервер прикрути (не знаю чи бд може так)
источник

AS

Alex Sin in Laravel UA
Павел
Вот у меня таблица напоминаний. Каждому пользователю надо напомнить и выслать модель. Если модель удалена из своей таблицы, что отправлять пользователю?
Ну если нужно отправить модель, а ее нет в таблице, отправляйте значение по-умолчанию, или ничего, разве не логично ?
источник

П

Павел in Laravel UA
Alex Kovalchuk
мож обсервер прикрути (не знаю чи бд може так)
обсервер это в той модели, допустим которая удаляется. По сути это руками проверка
источник

П

Павел in Laravel UA
Я конечно понимаю, что база не может на аппаратном уровне такое иметь, просто спросил, вдруг чего-то не знаю
источник

П

Павел in Laravel UA
Alex Sin
Ну если нужно отправить модель, а ее нет в таблице, отправляйте значение по-умолчанию, или ничего, разве не логично ?
Это да, я на null проверяю конечно. Но поддержание чистоты в базах тоже хочется
источник

П

Павел in Laravel UA
Это же фишка лары $table->morphs('taggable');
источник

AS

Alex Sin in Laravel UA
Павел
Я конечно понимаю, что база не может на аппаратном уровне такое иметь, просто спросил, вдруг чего-то не знаю
Поскольку выше упоминался обсервер, а вас интересует аппаратный уровень БД, может вам подойдут триггеры?
источник

П

Павел in Laravel UA
не очень силен в БД. Да триггеры интересно
источник

П

Павел in Laravel UA
это писать надо их внутри мускла?
источник

AS

Alex Sin in Laravel UA
Как мне кажется, при создании нужно проверять, не созданы ли они уже. Кроме того, я бы делал это вне приложения, а допустим баш скриптом, который подключается к бд и выгружает туда сиквел файл с зареганными триггерами. И запустить это скрипт мануально вручную на сервере. Просто мы не хотим на каждом запросе выполнять лишнюю работу. Из минусов тут привязка именно к мускулу... Возможно что-то уже написано для лары, какая-то оо-реализация триггеров...
источник

D

Dymon in Laravel UA
Alex Sin
Как мне кажется, при создании нужно проверять, не созданы ли они уже. Кроме того, я бы делал это вне приложения, а допустим баш скриптом, который подключается к бд и выгружает туда сиквел файл с зареганными триггерами. И запустить это скрипт мануально вручную на сервере. Просто мы не хотим на каждом запросе выполнять лишнюю работу. Из минусов тут привязка именно к мускулу... Возможно что-то уже написано для лары, какая-то оо-реализация триггеров...
из коробки ничего для тригеров нет. А почему ты делаешь тригеры отдельно? имхо если они нужны - их можно в миграциях писать
источник

П

Павел in Laravel UA
Как дать понять триггеру что допустим поле taggeble_type есть таблица users ?
источник

П

Павел in Laravel UA
и да триггер можно из миграции писать
источник

D

Dymon in Laravel UA
Павел
Как дать понять триггеру что допустим поле taggeble_type есть таблица users ?
в sql есть условные операторы, а у тригера есть доступ ко всем колонкам столбца
источник

П

Павел in Laravel UA
вспомнил, что обсерверы то у меня есть в проекте) Даже не в моделях, а в виде event
источник

П

Павел in Laravel UA
Dymon
в sql есть условные операторы, а у тригера есть доступ ко всем колонкам столбца
Вот интересное развитие для лары. Писать триггеры, чтобы было похоже на ->onDelete('cascade')
источник

D

Dymon in Laravel UA
Павел
Вот интересное развитие для лары. Писать триггеры, чтобы было похоже на ->onDelete('cascade')
я бы не советовал идти этим путем. Имхо лучше заюзать этот трейт Illuminate\Queue\SerializesModels - тогда лара сама будет проверять есть модель в базе или нет https://laravel.com/docs/7.x/queues#class-structure:~:text=In%20this%20example%2C%20note%20that%20we,from%20serializing%20full%20Eloquent%20model%20instances.
источник