Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 条令-空leftJoin SQL_Mysql_Doctrine - Fatal编程技术网

Mysql 条令-空leftJoin SQL

Mysql 条令-空leftJoin SQL,mysql,doctrine,Mysql,Doctrine,我构建了实体的以下部分: /** * @var Application_Model_Ticket * * @OneToMany(targetEntity="Application_Model_Ticket",mappedBy="contacts_id") * @JoinColumn(name="id", referencedColumnName="contacts_id") */ private $tickets; public function getTickets() {

我构建了实体的以下部分:

/**
* @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; 
} 
当我现在尝试以下原则代码时:

$this->oQueryBuilder->select('contact','ticket')
                    ->from('Application_Model_Contact', 'contact')
                    ->leftJoin('contact.tickets', 'ticket')
                    ->orderBy('contact.id', 'DESC');
我得到一个MYSQL错误。 发生以下情况:

FROM contact c0_ LEFT JOIN  ORDER BY c0_.id DESC
看来条令并没有正确地填充左连接。 有人知道为什么会这样吗

更新:

->leftJoin('contact.tickets', 'ticket', 'WITH','contact.id = ticket.contactsId')
给我

LEFT JOIN  AND (c0_.id = t1_.contacts_id) 

您在查询中错过了上的

$this->oQueryBuilder
     ->select('contact','ticket')
     ->from('Application_Model_Contact', 'contact')
     ->leftJoin('contact', 'on contact.ticket=Application_Model_Contact.field')
     ->orderBy('contact.id', 'DESC');
其中
Application\u Model\u Contact.field
将其替换为匹配字段以应用
JOIN

因此,您的查询应该如下所示:

....FROM contact c0_ LEFT JOIN ON table1.field=table2.field ORDER BY c0_.id DESC
资料来源:

Mysql加入:

试试这个:

$this->oQueryBuilder->select('contact','ticket')
                    ->from('Application_Model_Contact', 'contact')
                    ->leftJoin('contact.tickets', 'ticket', 'WITH', 'contact.id = ticket.contacts_id')
                    ->orderBy('contact.id', 'DESC');

您想使用
原则构建什么样的sql查询
?从ticket.contacts上的contact LEFT JOIN ticket中选择联系人字段。\u id=contact.idHi,我尝试了以下操作:->leftJoin('contact.tickets','ticket','ON','contact.id=ticket.ticket\u id')。给我:错误:字符串的预期结尾,得到'ON'不,没有,得到错误:错误:字符串的预期结尾,得到'ON'消息:[语法错误]第0行,第87列:错误:字符串的预期结尾,得到'ON'错误:字符串的预期结尾,得到'ON'你使用的是什么版本的条令?嗨,谢谢你的回复。试过的票证=应用程序\模型\联系人id,因为它是与票证连接的id。出现以下错误:错误:字符串应为结尾,我编辑了“ticket”,您的表是contact和application\u model\u contact?否,application\u model\u contact是实体,mysqlDB是contact,但没有LeftJOIN我得到了正确的contact models结果是否要在一个表之间应用连接?,请看一下mysql JOINNo的文档,我有一个表联系人,它的实体是Application\u Model\u contact。我有另一张桌子票,它的实体是应用程序\模型\票。我用treid在clear MYSQL中构建了左连接,没有任何问题,只是条令扼杀了我:)