微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Yii2:我可以在一个搜索模型中使用多个模型吗?

如何解决Yii2:我可以在一个搜索模型中使用多个模型吗?

在 Yii2 中,我能否在一个搜索模型中包含两个模型(活动记录)并在网格视图中显示它们?

例如,我有两个表,“customers”和“customer_contacts”。

在我的搜索模型中,我使用 Customers 作为我的主要模型,而我希望“左加入”到 CustomerContacts,并最终显示 Customers。名称CustomerContacts.phoneNumber 在 gridview 中(在 dataProvider 中)。

有人可以指导我吗。

谢谢。

解决方法

选项 1: 在客户模型中添加此函数:

Public function getCustomerContact(){
Return $this-> hasOne( CustomerContact::className,[customer_id,id]);

}

然后在您的网格视图中,您可以轻松地引用联系人,如下所示:

customerContact.name

请注意,这仅在表之间存在一对一关系时才有效

选项 2:(更快但挑战更多)

在数据提供者中,使用查询而不是模型,即 $query = new \yii\db\Query();

然后您可以在数据提供者中进行所有连接等。它要快得多,但需要更多的专业知识

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。