如何在 propel 查询中添加别名
在我的 symfony 1.4 项目中,我有两个连接到同一个表(不同的外键)的查询:
return ArticleQuery::create(null,$criteria)
->joinWithArticleCategoryRelatedByNewsCategoryId()
->joinWithArticleCategoryRelatedByHelpCategoryId();
我收到错误: SQLSTATE[42000]:语法错误或访问冲突:1066 不唯一的表/别名:'article_category'
如何向此联接添加别名?
In my symfony 1.4 project I have query with two joins to the same table (different foreign keys):
return ArticleQuery::create(null,$criteria)
->joinWithArticleCategoryRelatedByNewsCategoryId()
->joinWithArticleCategoryRelatedByHelpCategoryId();
I'm getting error:
SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias: 'article_category'
How can I add alias to this join?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这对我有用:
在其他情况下 - 你应该尝试升级你的 Propel ;)
This worked for me:
In other case - you should try to upgrade your Propel ;)
注意:我使用 Propel 1.6
将参数传递给 join 方法应该足够了。
查看生成的 BaseArticleQuery.php 以查看已为您生成了哪些方法。我的一种连接方法如下所示:
Propel 的优势之一是几乎所有东西都有一个具体的方法。因此,如果您有一个支持代码完成的 IDE,您可以收到有关方法支持哪些参数的提示。
Note: I use Propel 1.6
It should be enough to pass an argument to the join method.
Look in your generated BaseArticleQuery.php to see what methods have been generated for you. One of my join methods look like this:
One of the strengths of Propel, is that nearly everything has a concrete method. So if you have an IDE with support for code completion, you can receive hints of what arguments the methods support.