php - Propel ORM - 连接不相关的表

标签 php sql orm propel

这个 SQL 语句如何转化为 Propel (1.6.3)?

SELECT * FROM table_a JOIN table_b

tableA 和 tableB 不共享外键,也没有定义任何关系。

TableAQuery::create()->join('tableB')

不工作因为 Propel 提示错误:

"Fatal error: Uncaught exception 'PropelException' with message 'Unknown relation TableB on the TableA table'

非常感谢您的帮助和提示!这是我在这里的第一篇文章,我希望我没有做错任何事:-)(我在发布之前已经彻底搜索过!)

最佳答案

您也可以像这样使用“addJoin”:

TableAQuery::create()
->addJoin(TableAPeer::ThisCOLUMN, TableBPeer::ThatCOLUMN, Criteria::INNER_JOIN); //Can also be left/right

第三个参数也采用左连接和右连接。

并且,而不是通常的“filterByXXX()

->filterByOtherColumn(value)

你会像这样使用“add()”:

->add(TableAPeer::OtherCOLUMN, value)

关于php - Propel ORM - 连接不相关的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18890036/

相关文章:

php - 如何在 Symfony 2 中返回实体的本地化属性

orm - order_by() 方法在 peewee 中不起作用

php - 如何使用 Ratchet 在线显示连接的用户?

一张表中按最大日期过滤重复行的 SQL 查询

sql - 使用 DATEADD 和 DATEDIFF 获取一周的开始日(星期一)时出现问题

php - 如何处理在 php mysql 中返回多个值的内部查询?

php - 值仅传递到单个数据库或条件。使困惑

php - 如何将错误消息输入到登录模式中

PHP + mySQL 在循环中插入多行到表时 myphp 挂起/卡住/

Django,在 self 类内的多对多关系中,我如何在ORM方面相互引用?