2011-11-18 75 views
0

我正在CakePHP 2.0中編寫一個搜索表單,目前我已經將它設置爲與索引操作和視圖一起運行(它也發佈到索引操作),並對照模型進行驗證這樣如果在搜索字段中輸入了任何不正確的字段(字段包括日期,價格),元素旁邊就會出現一個很好的驗證錯誤消息。基本上它有點像一個腳手架的添加形式。CakePHP如何編寫一個搜索表單來顯示結果

如果驗證成功,我需要實際運行查詢並返回一些數據。我不想在索引視圖中顯示這個數據 - 我應該:

  1. 運行查詢,然後呈現一個不同的觀點(這意味着該URL不會改變 - 不知道我想要的)。
  2. 將搜索參數存儲在會話中,重定向到另一個操作,然後檢索搜索詳細信息。

還有別的辦法嗎?

回答

0

兩個選項都可以。你必須決定你更喜歡什麼,不要改變網址或改變它?

您也可以使用命名參數傳遞信息,以便用戶可以爲其請求添加書籤,但它需要在顯示結果的同一頁面中執行驗證。我通常使用cakedc搜索插件來做到這一點。

回到你兩個選擇,如果你的意思是這是在表現更好,我會選擇一個號碼,因爲第二個需要加載一個新的模型/控制器等

+0

感謝 - 如果我想使用與分頁結果 - 這將如何影響選項? – Richard

+0

如果你想使用paginate,你必須在調用paginator打印鏈接時也傳遞所有命名參數,並且它不會影響。我用paginate插件,它的作品完美:) – api55