Laravel: wykonuje pewne zadanie przy każdym wstawianiu / aktualizacji podczas korzystania z Konstruktora zapytań lub Eloquent ORM
Chciałbym automatycznie dodaćcreated_by
imodified_by
pola do każdej wstawki / aktualizacji do tabeli bazy danych w Laravel 4, niezależnie od tego, czy używam Eloquent lub Query Builder. Jednak nie wszystkie moje tabele mają te pola, więc każde rozwiązanie będzie musiało sprawdzić te kolumny przed dodaniem.
RozszerzyłemIlluminate\Database\Eloquent\Model
klasa i napisał metodę nadpisywaniasave()
w celu dodania dodatkowych pól metadanych dla każdego zapisanego rekordu.
Jest to w porządku, z wyjątkiem tego, że jeśli wykonam wstawkę za pomocą Konstruktora zapytań, to jest to pomijane. Patrząc naModel
wygląda na to, że operacje bazy danych są faktycznie wykonywane za pomocą kreatora zapytań.
Spojrzałem naIlluminate\Database\Query\Builder
model i wygląda na to, że mógłbym prawdopodobnie napisać metodę nadpisywaniainsert()
iupdate()
.
Czy jest to rozsądny sposób na wykonanie jakiegoś zadania przy każdej wkładce / aktualizacji, czy też wpadnę w kłopoty później?