Yii2 AR模型搜索数据条数不对,AR模型默认去重
最近在做Yii2的项目时, 发现了一个yii2 自带的Ar模型会自动对搜索出来的字段去重。
默认去重字段: id, 其他字段暂没发现
1. 例如:
1 public function fields
2 {
3 //aboutClass表的ID
4 id => about_class_id
5 }
如果搜索关系是一对多的关系,那么搜索出来的about_class_id 有重复,这时你给about_class_id 命名为id,因为yii2对id字段默认去重,就会出现数据条数变少的情况
解决方案:
1 public function fields
2 {
3 //换字段名称
4 aboutClassId => about_class_id
5 }
2. 例如
1 public function selectFields()
2 {
3 $data = \common\models\base\AboutClass::find()
4 ->select('
5 //取别名ID
6 about_class_id id,
7 name,
8 type
9 ')
10 ->where(['status' => 5])
11 ->asArray()
12 ->all();
13 return $data;
14 }
这里的select里面的id字段也会同上一样,被默认去除重复数据, 解决方案和上面例子1一样。
总结:
Yii2会对AR模型里字段名id的数据去重。
以上为本人自身观点,如有不同见解,望不奢指教!同时,也希望对读者有所帮助。
请支持原创!转载时,请注明来源;
链接地址:https://www.cnblogs.com/cleverstone