モデルインスタンスのフィールド値を変えた
public function __construct(User $user) { $this->user = $user; } public function updateUser() { $this->user->timestamps = false; // update_atを更新させない $this->user->where('id', '=', $user_id) ->update([ 'is_active' => 1, ]); }
こんなふうに、Repositoryパターンとかで、共通のインスタンスを使うときに、
値を書き換えてしまった。
このままだと、同じインスタンスを使うために、別な関数でupdate文を書くと、
update_atが更新されなくなってしまう。
フィールド値をもとに戻そう
$timestamps = $this->user->timestamps; $this->user->timestamps = false; $this->user->where('id', '=', $user_id) ->update([ 'is_active' => 1, ]); $this->user->timestamps = $timestamps;
こうやって、元の値を一旦保存して、
update文を書き終わったら、またもとに戻そう。これで大丈夫
求む他の方法
他にも良い書き方がありましたら、ぜひ教えてください!
一旦これで進めようと思いますー
ってことでお疲れ様でした。