Я пытаюсь сделать соединение между 2 таблицами, но я получаю эту ошибку:
Сообщение: SQLSTATE [42000]: синтаксическая ошибка или нарушение доступа: 1064 В синтаксисе SQL есть ошибка; проверьте руководство, соответствующее вашей версии сервера MySQL, для правильного синтаксиса для использования рядом с '' в строке 1
Это код:
Страница модели
public function __construct()
{
$this->pages_meta = new \Doctrine\Common\Collections\ArrayCollection();
}
/**
* @var integer $id
* @Id @Column(type="integer")
* @GeneratedValue
*/
private $id;
/**
* @var integer $layout
* @Column(type="string")
*/
private $layout;
/**
* @var string $name
* @Column(type="string")
*/
private $name;
/**
* @var string $title
* @Column(type="string")
*/
private $title;
/**
* @var string $slug
* @Column(type="string")
*/
private $slug;
/**
* @var string $options
* @Column(type="integer")
*/
private $content_id;
/**
* @var integer $user_id
* @Column(type="integer")
*/
private $user_id;
/**
* @var string $created_at
* @Column(type="datetime")
*/
private $created_at;
/**
* @var string $language
* @Column(type="string")
*/
private $language;
/**
* @OneToMany(targetEntity="Default_Model_PageMeta", mappedBy="page_id")
* @JoinColumn(name="id", referencedColumnName="page_id")
*/
private $meta;
... (getters and setters)
PageMeta Model
/**
* @var integer $id
* @Id @Column(type="integer")
* @GeneratedValue
*/
private $id;
/**
* @var integer $page_id
* @Column(type="integer")
*/
private $page_id;
/**
* @var integer $key
* @Column(type="string")
*/
private $key;
/**
* @var integer $value
* @Column(type="string")
*/
private $value;
... (getters and setters)
Синтаксис объединения
$doctrine = Zend_Registry::get('doctrine');
$request = Zend_Controller_Front::getInstance()->getRequest();
$qb = $doctrine->_em->createQueryBuilder()
->select('p, m')
->from('Default_Model_Page', 'p')
->join('p.meta', 'm');
$query = $qb->getQuery();
$page = $query->getResult();
Zend_Debug::dump($page); die;
Есть идеи, что я делаю не так?
Заранее спасибо!