【发布时间】:2017-09-01 13:32:36
【问题描述】:
我正在学习如何使用 Yii2 框架进行简单查询。我使用 PostgreSQL。
我正在尝试加入两个表并从具有 where 条件的两个表中获取数据。
这些表称为 Admins 和 Persons。 名为 idadm 的联接使用字段。
条件是idadm = 33。这很好用,但结果只有 Admins 表中的数据,我需要其他表中的数据。
这是我的例子:
$query = \app\models\Admins::find()
->select('*')
->leftJoin('persons', 'persons.idadm = admins.idadm')
->where(['admins.idadm' => 33])
->with('persons')
->all();
我在关注 Yii2 官方指南:http://www.yiiframework.com/doc-2.0/guide-db-active-record.html
【问题讨论】:
-
尝试不使用
select() -
@MayankVadiya 它也是如此。 Persons 表中没有数据。
-
select('admin.*','persons.*')然后试试这个 -
@MayankVadiya 同样 id 不显示来自 Persons 表的数据。我使用以下方法显示数据:print_r($query)。没事吧?
-
有什么理由让你这么辛苦,而不是使用 Yii 内置的独立于数据库的 Active 记录和关系?
标签: postgresql yii2 yii2-advanced-app