Yii2 用 joinWith 关联的模型能不能设定 select [ 2.0 版本 ]
我用 model->selst()->joinWith(..., true)
时,里面关联的模型是所有字段都查出来了的,前面的 select 设置没有效果,能不能让关联的模型也显示指定的字段呢
比如:
有两个表,一个order表,字段有order_id,order_name,一个book表,字段有book_id,book_name,book_code,然后我使用
order::find()->select(['order_name', 'book.name'])->joinWith('book')->asArray()->one()
这样得出的结果是['order_name', 'book_name', 'book' => ['book_id', 'book_name', 'book_code']]
但我想要这样['order_name', 'book_name', 'book' => ['book_name']]
,要如何做
最佳答案
-
zhoupenghui 发布于 2018-09-05 17:40 举报
可以类似这样:
Order::find() ->select(['order_name']) ->joinWith([ 'book book' => function ($query) { query->select(['book.id', 'book.name']) } ]);
共 1 条回复
其他 3 个回答
-
https://www.yiichina.com/doc/guide/2.0/db-active-record 这里面写了joinWith的用法,select 指定出字段就会给出指定的值,如果你还是觉得有问题,可以把你的执行sql打印出来看看是什么样就知道哪有问题
共 5 条回复dlj1002 觉得很赞
wsd15321
注册时间:2017-11-08
最后登录:2019-06-13
在线时长:3小时12分
最后登录:2019-06-13
在线时长:3小时12分
- 粉丝0
- 金钱255
- 威望20
- 积分485