2011-02-24 26 views
1

3天前我開始使用CakePHP,現在我正處於spike解決方案的中間。我正在快速學習,但其中的一些功能尚不清楚。CakePHP體系結構問題 - 爲模型編寫自定義搜索

我正在尋找一些關於如何繼續下一步的建議。

我正在寫一個搜索,其中用戶可以在教師成員的許多字段(10+)中輸入數據。他們可以輸入相關信息,例如名字,姓氏或部門/部門,這些都在模型中正確關聯。

我正在尋找使用LIKE語句並執行搜索的查詢。我正在考慮在學院模型中進行黑客入侵,以開始編寫或延伸可執行搜索的查找功能?

這是正確的做法嗎?我應該爲搜索寫一個自定義函數嗎?有沒有另一種方法來做到這一點?

我故意遺漏了很多關於我的項目的細節,因爲我現在還在學習框架,並且想聽到最好的選擇 - 我不想被設計限制。但基本上,我有一個表格,其中包含姓名,出生日期,教職員工等幾個字段,我需要用戶輸入信息並搜索我的教師。

如果任何人都可以指出我正確的方向,它將不勝感激。我一直在做很多的閱讀,我不知道如何繼續。

謝謝。

回答

-1

什麼,我試圖做的是非常簡單的。這不是一個體繫結構問題,我只需要閱讀模型,然後回答我自己的問題。

具體來說,我需要用複雜的查找條件的幫助,CakePHP的書中有一個章節:

http://book.cakephp.org/view/1030/Complex-Find-Conditions#!/view/1030/Complex-Find-Conditions

+0

然後標記自己的答案是正確的 - 最好是發佈了一些工作解決方案代碼後。 – 2011-02-24 22:49:08

+0

我在嘗試,不幸的是,StackOverflow需要我等2天才將自己的答案標記爲正確。 – Foo 2011-02-25 17:01:09

0

這是我處理如何尋找。如果您只有一個可以接受任何字段的數據的文本框,而不是$ this-> data ['Faculty'],請循環遍歷您希望能夠搜索的字段數組。

foreach ($this->data['Faculty'] as $field => $value){ 
      $conditions[$field . ' LIKE'] => '%' . $value . '%'; 
} 
$results = $this->Faculty->find('all', 
    array(
     'conditions'=>array('OR'=>$conditions), //or use AND here depending on need 
    ) 
); 
$this->set('results',$results);