2015-11-08 63 views
0

當我添加在Yii2 CRUD生成器「搜索模型類」,框架創建搜索類(ArticlesSearch)至極擴展控制器類(文章) - 什麼搜索funcrtion是在單獨的類(在ArticlesSearch) 。爲什麼yii不向控制器添加搜索功能(文章)?Yii2 CRUD發電機

回答

0

由Gii生成的ArticlesSearch類應該不是擴展控制器類。如果使用DB,它應該擴展您的文章modelapp \ models \ Article),它擴展了\ yii \ db \ ActiveRecord

的Yii不會指望所有的邏輯控制器上進行處理。您的文章模型類可以在應用程序中的任何位置使用,包括其他模型控制器,cron任務或控制檯腳本。因此,有一個名爲Article的模型類來定義和處理所有驗證,與其他模型的關係以及與數據庫的交互,然後構建一個Search類來擴展它,這是一個正確的靈活解決方案。

如果你需要搜索被捆綁只到控制器,那麼你就不需要建立任何搜索類,而只有建立和處理您的ActiveDataProvider情況下,你的控制器內。