Yii 框架中调用joinWith()方法后,如何只查询需要的字段。

新手提问 · wy1272086709 · 于 6年前 发布 · 5687 次阅读

如题,如何实现,期待答案........

共收到 3 条回复
forecho#16年前 0 个赞

你不应该写一个示例给个场景吗?

light#26年前 2 个赞
->joinWith(['articles' => function ($query) {
   $query->select(['id', 'title'])
})

@forecho #1楼 比如这段代码:

  $policeQuery = ServiceInfo::find()->alias('service')->where(["`service`.`area_code`"=>$areaArr])
        ->select([
           '`service`.`area_code`',
           'police_code'=>"IF(service.police_code<>'',service.police_code,service.service_code)",
           "police_name"=> "IF(`service`.`police_code`<>'',`police`.`police_name`,`service`.`service_name`)",
           "type"=>"IF(`service`.`police_code`<>'','Police','Service')"])
        ->joinWith([
            'police' => function ($q){
                return $q->alias('police')->select(['police_code','police_name']);
            }
        ])->distinct(TRUE)->orderBy("`service`.`police_code`")->all();

最后得到的结果数组中,肯定含有police 的键值 我当时是想怎么查询想要的键 比如不要police键。

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册