次のクエリが発生しています
public function test()
{
$uuid = substr( String::uuid() , 4 , rand( 7 , 10 ) );
$name = $uuid;
$event = $this->Event->getEvent( array( "event_id" => "5240e695-9acc-4e32-9b98-1aecb3d0838" ) );
$event[ "event_name" ] = $name;
$this->Event->update( $event );
debug( $this->Event->search( array( "event_id" => $event[ "event_id"] ) )[ 0 ][ "event_name" ] );
debug( $this->Event->search( array( "event_id" => $event[ "event_id"] , "limit" => 1 ) )[ 0 ][ "event_name" ] );
}
mySQL ( InnoDB ) テーブルから取得した特定のイベントにevent
ランダムな名前を割り当て、それにランダムな新しい名前を割り当てて、データベースに保存します。
このコードの最後の 2 つのステートメントを実行すると、結果は同じではありません。2 番目のクエリの最後のパラメーターは、2 番目のクエリの末尾に LIMIT 1 を追加するだけであることに注意してください。(テーブルを検索するための CakePHP 2.x の一般的な方法は使用していません)。最初の検索呼び出しの結果は前の要求からの前の結果を生成し、2 番目の検索呼び出しはテーブル内で現在更新されている実際の名前を生成しevent
ます。
データソース オブジェクトからクエリ キャッシュを完全に削除する方法を高低で検索してきましたが、その方法がわかりません。データソース オブジェクトで flushMethodCache() を使用しようとしましたが、何もしません。設定しようとしました
$cacheQueries = false, $cacheSources = false;
AppModel で、しかしそれも何もしません。/App/Config/Core.php を調べて、キャッシュを無効にし、キャッシュ時間を 0 に設定しようとしましたが、どれも機能しません。