PHP / MySQL Propel连接不会使对象水合

时间:2017-07-20 08:17:32

标签: php mysql join propel

我们正在使用Propel(1.7)进行PHP。我在加入物体时遇到了一些问题。

以下是一个例子:

Table A
-------- 
id
anyColumn

Table B
-------- 
id
a_id

使用推进我查询来自Table A的对象,但希望(左)加入来自b的条目。

查询如下:

$as = AQuery::create()->filterByAnyColumn(anyValue)->leftJoinWithB()->find();

我输出了mysql查询,看起来不错。我也手动调用查询,b中的所有列也在那里调用。所以到目前为止一切看起来都不错......但是:

如果我有一个来自现在的对象并且调用$a->getBs();推进将创建一个新查询。但我认为我可以避免这个问题,因为我已经加入B.我做错了什么?

1 个答案:

答案 0 :(得分:0)

请尝试使用joinWith()

$as = AQuery::create()
    ->filterByAnyColumn(anyValue)
    ->joinWith('A.B')
    ->find();

详情请见:propelorm.org/Propel/reference/model-criteria.html#minimizing-queries