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