gpt4 book ai didi

php - 推进和左加入

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:06:27 25 4
gpt4 key购买 nike

在 Doctrine 中我可以:

    $q = Doctrine_Query::create()
->from('One o')
->where('t.text = ?', 'aaa')
->andWhere('h.text = ?', 'bbb')
->leftJoin('o.Two t')
->leftJoin('t.Three h')
->leftJoin('h.Four f')
->execute();

我如何在 Symfony 1 的 Propel 中制作这个?

最佳答案

如果在1.6之前使用propel,则必须遵循

您必须知道每个关系的主键。如果是id,可以是这样的:

$c = new Criteria();

$c->add(TwoPeer::TEXT, 'aaa');
$c->add(ThreePeer::TEXT, 'bbb');

$c->addJoin(OnePeer::TWO_ID, TwoPeer::ID, Criteria::LEFT_JOIN);
$c->addJoin(TwoPeer::THREE_ID, ThreePeer::ID, Criteria::LEFT_JOIN);
$c->addJoin(ThreePeer::FOUR_ID, FourPeer::ID, Criteria::LEFT_JOIN);

$results = OnePeer::doSelect($c);

对于 Propel 1.6(从 https://github.com/propelorm/sfPropelORMPlugin 使用它),像这样:

$results = OneQuery::create()
->useTwoQuery()
->filterByText('aaa')
->useThreeQuery()
->filterByText('bbb')
->endUse()
->endUse()
->leftJoinWith('Three.Four')
->find();

关于php - 推进和左加入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9735666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com