如何解决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 举报,一经查实,本站将立刻删除。