CakePHP 3.x

[CakePHP]seve時更新フィールド(modified)を自動更新させない

投稿日:

seve時更新フィールド(modified)を自動更新させない方法

サイトのプレビュー数カウントアップ等の処理で、modifiedを更新させたくない場合は、setDirtyでフィールドを指定して、自動更新させないようにする

$data = $this->get($id);

$data->view++;
// 更新フィールドは自動更新させない
$data->setDirty('modified', true);

$this->save($data);

 

参考

編集のタイムスタンプ無しで更新の保存

エンティティーを保存する際の updated タイムスタンプカラムの自動更新を無効化するには、その属性を 『dirty』 としてマークします。

// modified カラムを dirty としてマークして、更新時に現在の値がセットされるようにします。
$order->setDirty('modified', true);

// 3.4.0 より前
$order->dirty('modified', true);

引用[ 編集のタイムスタンプ無しで更新の保存 ]

-CakePHP 3.x

Copyright© WXY , 2024 All Rights Reserved Powered by STINGER.