2015-11-08 60 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情况下,你的控制器内。