我們有一個 CakePHP 3.x 應(yīng)用程序,我們已將其更新到最新的 CakePHP 4.x。作為這項工作的一部分,我們也從 PHP 7 更改為 PHP 8。
在測試應(yīng)用程式時,我們注意到一個功能已停止運(yùn)作。
該應(yīng)用程式是一個可搜尋的資料庫,並與 Redis 整合以進(jìn)行快取。其中一項功能?%8
為了清楚起見,我們以這種方式設(shè)定請求資料的原因是因為搜尋是透過 ajax 呼叫進(jìn)行的。當(dāng)使用者最初輸入搜尋條件時,頁面尚未重新加載,因此表單欄位似乎已正確填充。此問題發(fā)生在頁面重新載入時。在這種情況下,我們希望使用他們?%9
您正在尋找的函數(shù)是withData
。請記住,請求對像是不可變的,因此您需要將該函數(shù)呼叫的結(jié)果分配回請求對象,例如與$this->setRequest($this->getRequest()->withData('f1' , 'foo')->withData('f3', 'bar'))
。