Yii2积垢发生器

Yii2积垢发生器,yii2,crud,Yii2,Crud,当我在Yi2的CRUD生成器中添加“搜索模型类”时,框架会创建搜索类(ArticlesSearch),它扩展了控制器类(Articles)——搜索函数的内容在单独的类(ArticlesSearch)中。为什么yii不向控制器(文章)添加搜索功能?Gii生成的ArticlesSearch类不应扩展控制器类。它应该扩展您的文章model(app\models\article),如果使用db,它将扩展\yii\db\ActiveRecord 我不希望你所有的逻辑都在控制器上处理。您的文章模型类可以在应

当我在Yi2的CRUD生成器中添加“搜索模型类”时,框架会创建搜索类(ArticlesSearch),它扩展了控制器类(Articles)——搜索函数的内容在单独的类(ArticlesSearch)中。为什么yii不向控制器(文章)添加搜索功能?

Gii生成的
ArticlesSearch
类不应扩展控制器类。它应该扩展您的文章model(app\models\article),如果使用db,它将扩展\yii\db\ActiveRecord

我不希望你所有的逻辑都在控制器上处理。您的文章模型类可以在应用程序中的任何位置使用,包括其他模型控制器、cron任务或控制台脚本。因此,有一个名为Article的模型类来定义和处理所有验证、与其他模型的关系以及与DB的交互,然后构建一个扩展它的搜索类是一个正确且灵活的解决方案

如果只需要将搜索绑定到控制器,则不需要构建任何搜索类,只需在控制器内构建并处理
ActiveDataProvider
实例即可