加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Yii2仅从相关模型中选择几列

发布时间:2020-12-13 13:35:37 所属栏目:PHP教程 来源:网络整理
导读:在控制器我有: public function actionGetItems(){ $model = new appmodelsWarehouseItems; $items = $model-find()-with(['user'])-asArray()-all(); return $items;} 在WarehouseItem模型中,我有标准(由gii创建)关系声明: public function getUser(){
在控制器我有:
public function actionGetItems()
{
    $model = new appmodelsWarehouseItems;
    $items = $model->find()->with(['user'])->asArray()->all();
    return $items;
}

在WarehouseItem模型中,我有标准(由gii创建)关系声明:

public function getUser()
{
    return $this->hasOne('dektriumusermodelsUser',['user_id' => 'user_id']);
}

如何控制从“用户”关系中获得哪些列数据?我目前得到的所有列都不好,因为数据以JSON格式发送到Angular.
现在我必须通过$items循环,并将我不想发送的所有列归档.

您应该简单地修改关系查询,如下所示:
$items = appmodelsWarehouseItems::find()->with([
    'user' => function ($query) {
        $query->select('id,col1,col2');
    }
])->asArray()->all();

阅读更多:http://www.yiiframework.com/doc-2.0/yii-db-activequerytrait.html#with()-detail

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读