170 похожих чатов

Всем доброго дня! Только осваиваю Laravel. Суть вопроса: есть 2 модели -

Company и Event. Набор полей сильно разный, но есть общие поля created_by и updated_by, в которых преполагается сохранять ID юзера, который соотв создал (в этом случае и обоих одинаковый ID) или изменил (соотв updated_by может стать иным) запись.

Поскольку это обновление должно производиться всегда и код генерации по идее одинаков - вопрос - как сделать общий код на 2 модели?
То есть куда лучше поместить код, который проверяет в модели наличие полей и в случае их наличия - присваивает текущим юзером. Как я понимаю - сам вызов всё равно вешать в обсервер каждой модели "отдельно" через setCreatedByAttribute/setUpdatedByAttribute... Или нет?

5 ответов

21 просмотр

не надо делать общий код моделей.

По вопросу - трейты. По факту, не думаю, что стоит так делать (добавлять к каждой бд отдельно created_by, updated_by), лучше подключить логирование, типо laravel audit, где уже будет сохраняться кто изменил модель, что в ней именно изменил. Будет и проще, и гибче, заодно понять кто менно и что именно изменил.

Andrey-Shaposhnikov Автор вопроса

Покурил трейты - вроде разобрался. В логирование выносить не хочется, так как в других точках по этим полям (и по их комбинации в том числе) будут списки с фильтрованием (как по этим полям, так и по другим) - вынос этих полей в логирование или ещё куда потом сделает построение этих списков делом тяжким.

Ну не знаю, насчёт тяжести, скорее просто усложнит сам запрос.. Но можно будет вытянуть кто менял запись вчера или в прошлом месяце если сейчас ее поменял кто-то другой )) Если же это не нужно, то вероятно да, можно оставить в таблице.

Andrey-Shaposhnikov Автор вопроса

Хистори не важна. Важен "первый и последний автор".

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта