私のスキーマには、レポート クエリを高速化するために使用される冗長な列がいくつかあります。たとえば、セールの購入合計はテーブルの"purchase_total"
列に保存されますが"sale"
、モデルでは、セールで購入された各アイテムの販売価格を合計することで動的に計算されます。この値は、Sale オブジェクトで「getPurchaseTotal」アクセサーを呼び出すことによって取得できます。
挿入/更新時にこの値を sales テーブルの purchase_total 列にマップする方法はありますが、データベースからロードするときに Sale オブジェクトのハイドレーションには含まれませんか? 派生列または計算列に似ていると思いますが、逆です。
データベース自体のトリガーを介してこれを処理するのが最善ですか?