Я построил следующие части моего лиц:Учение - Пустой LeftJoin SQL
/**
* @var Application_Model_Ticket
*
* @OneToMany(targetEntity="Application_Model_Ticket",mappedBy="contacts_id")
* @JoinColumn(name="id", referencedColumnName="contacts_id")
*/
private $tickets;
public function getTickets() {
return $this->tickets;
}
/**
* @var Application_Model_Contact
*
* @ManyToOne(targetEntity="Application_Model_Contact",cascade={"persist"})
* @JoinColumn(name="contacts_id", referencedColumnName="id")
*/
private $contact;
public function getContact() {
return $this->contact;
}
Когда я теперь попробовать следующее Doctrine Код:
$this->oQueryBuilder->select('contact','ticket')
->from('Application_Model_Contact', 'contact')
->leftJoin('contact.tickets', 'ticket')
->orderBy('contact.id', 'DESC');
Я получаю MYSQL-Error. происходит следующее:
FROM contact c0_ LEFT JOIN ORDER BY c0_.id DESC
Кажется, что доктрина не заполняет в LEFT JOIN правильно. У кого-нибудь есть идея, почему это происходит?
UPDATE:
->leftJoin('contact.tickets', 'ticket', 'WITH','contact.id = ticket.contactsId')
дает мне
LEFT JOIN AND (c0_.id = t1_.contacts_id)
Что SQL запросов вы хотите построить с помощью ' doctrine'? –
SELECT fields_of_contact ОТ контакта LEFT JOIN ticket ON ticket.contacts_id = contact.id – abcNocturn