Ich habe meinen Datenbanktabellen ein paar virtuelle Spalten mit Laravels Virtualas < /code> Spaltenmodifikator hinzugefügt: < /p>
Code: Select all
$table->decimal('grand_total')->virtualAs( '(total_value + (total_value*tax_rate))');
< /code>
Im Grunde genommen wird eine virtuelle MySQL -Spalte aufbewahrt, in der die Gesamtsumme automatisch auf dem Gesamt- und Steuersatz berechnet wird, das in einer anderen Spalte gespeichert ist. Beim Speichern eines Datensatzes wird versucht,
oder aktualisiert die virtuelle Spalte, die in MySQL offensichtlich nicht zulässig ist. Ich konnte keinen Weg finden, um im eloquenten Modell zu konfigurieren, das Felder tatsächlich in der Datenbank auf einem Update oder Einfügen geschrieben werden. (
https://github.com/laravel/framework/bl ... l.php#l733) scheint nur alle Attribute in $ this-> Attributen hinzugefügt zu werden. Wenn der Datensatz aus der Datenbank gelesen wird, wird das Feld grand_total aus der Tabelle gelesen und als Attribut festgelegt und dann wird versucht, erneut geschrieben zu werden, sobald der Datensatz gespeichert ist.>