【发布时间】:2017-05-29 09:22:03
【问题描述】:
我有问题。比方说,我有一张桌子
personal_contacts[name, email, something_else]
和表
organisation_contacts[title, email, something, smth_else].
两个表都包含email 列。
另外,我还有一张桌子
needed_contacts[belonging_id, belonging_type],
与其他两个存在多态关系。
现在,我需要通过关系的 email 字段订购 needed_contacts。我打算通过连接而不是通过电子邮件字段订购来执行此操作,但如果我不重命名一个字段,则会收到错误消息:
Integrity constraint violation: Column 'email' in field list is ambiguous
是否有可能实现我想要做的事情?任何帮助、指针或 cmets 将不胜感激。
我的php代码是:
NeededContact::leftJoin('personal_contacts', function($join){
$join->on('personal_contacts.id', '=', 'needed_contacts.belonging_id')->where('needed_contacts.belonging_type', '=', 'PersonalContact');
})
->leftJoin('organisation_contacts', function($join){
$join->on('organisation_contacts.id', '=', 'needed_contacts.belonging_id')->where('needed_contacts.belonging_type', '=', 'OrganisationContact');
})
->orderBy('email', 'desc');
【问题讨论】:
标签: php mysql laravel-5 eloquent