• ベストアンサー

laravel Eloquant model

laravel Eloquant modelにて以下のようにプロパティを追加しました。 public function set○○Attribute() public function get○○Attribute() save()を実行すると上記の値も一緒に更新しようとするのですが、独自のプロパティのため、DBにはカラムが存在せずエラーになります。 DB関係なしにただのプロパティとして使いたいのですが、どのようにしたらよいでしょうか

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

set{xxx}Attribute, get{xxx}Attributeは、プロパティ定義ではなく、ミューテータなので、利用用途が違います。 set{xxx}Attribute →値をカラムに保存する前に加工する用途で利用する。 set{xxx}Attribute →カラムの値を取得する前に加工してから取得する。 といったことが想定される用途です。 プロパティ定義がしたいということであれば、普通にpublicなメンバ変数を定義するか、普通のgetter, setterを定義するのが良いと思います。 または、Modelを継承しない、普通のクラスを作成し、ビジネスロジックはそっちに書く、というのが一般的ではないでしょうか。

関連するQ&A

専門家に質問してみよう