在Doctrine 1查询中的连接,未知的关系别名

时间:2014-12-09 16:50:20

标签: php mysql sql doctrine symfony1

我在一个Doctrine 1查询中遇到(我相信)连接问题。该查询已在Phpmyadmin中进行了测试并确认返回了所需的结果,但是当以Doctrine_Query::create()运行时,我的php日志中出现Unknown relation alias错误。

查询:

$q = Doctrine_Query::create()
      ->select('id')
      ->from('TableName')
      ->innerJoin('OtherTable')
      ->where('TableName.table_column LIKE CONCAT("%[",OtherTable.id,"]%")')
      ->andWhere('OtherTable.id='.$EXTERNAL_VAR)
      ->andWhere('TableName.other_table_column=value');

错误(写入外部日志文件):

[Tue Dec 09 11:28:25 2014] [error] [client 127.0.0.1] Unknown relation alias , referer: http://local.environment/

我已将问题隔离为上述查询,但不确定如何重新格式化CONCAT行以按预期工作。

1 个答案:

答案 0 :(得分:2)

问题在于你的内心。学说并不了解如何加入表格。 (因此消息"未知关系别名"

您的架构文件中是否指定了关系? 如果您刚刚定义了此关系或对模式文件进行了其他更改,那么您是否重建了模型? (使用 symfony doctrine:build-model