Codeigniter:连接三个表



我正在尝试在三个表之间进行联接,其中一个表中不能包含进行联接的信息。

这是我的桌子:

会议

  • id
  • 文档_id
  • 动机

人员

  • id
  • 名称

同伴

  • id
  • meeting_id
  • 名称

现在我想恢复Meetings.docent_id=Persons.id的信息(这是可以的(,我还想恢复Meedings.id=Companions.meeting_id的信息,如果添加此条件,我会收到错误。

问题是,最后一个条件并不总是存在,因为用户可以决定他是否想要同伴(因此,如果用户不想要,则不会将其写入同伴表(,因此可能是某些Meetings.id在Companions.meeting_id中没有对应关系。

我试过一个代码,比如:

$query = $this->db->select('Meetings.*, Persons.name, Persons.surname, Companions.*')
->from('Meetings')
->join('Companions', 'Meetings.id = Companions.meeting_id', 'LEFT')
->join('Persons', 'Meetings.docent_id = Persons.id', 'INNER')
->where('delete_date is null')
//....

它给我返回了500个错误,我想是因为有些会议没有同伴。我该如何获得所有会议,如果有同伴展示?

谢谢。

$query = $this->db->select('Meetings.*, Persons.name, Persons.surname, Companions.*')
->from('Meetings')
->join('Companions', 'Meetings.id = Companions.meeting_id', 'LEFT')
->join('Persons', 'Meetings.docent_id = Persons.id', 'INNER')
->where('Persons.delete_date is null')

确保您有where的完全限定列名(可能是在两个连接的表中有相同的列名(

相关内容

  • 没有找到相关文章

最新更新