我跟着查询执行
SELECT m.*, s.momento_idmember, sd.id_send, d.momento_id
FROM `momento_send` s,
`send_distribution` sd,
`momento_distribution` d,
`momento` m
WHERE
s.momento_idmember=6 AND
sd.id_send=s.id AND
sd.id_distribution=d.id AND
d.momento_id=m.id;
MySQL 5.5.24表之间有适当的关系。
有人可以建议如何通过Criteria(或其他最好的)来推动这个查询。我正在尝试2个多小时而没有成功。
答案 0 :(得分:1)
我会做这样的事情:
$c = new Criteria();
$c->clearSelectColumns();
$c->addSelectColumn(MomentoSendPeer::MOMENTO_IDMEMBER);
$c->addSelectColumn(SendDistributionPeer::ID_SEND);
$c->addSelectColumn(MomentoDistributionPeer::MOMENTO_ID);
$c->addJoin(SendDistributionPeer::ID_SEND, MomentoSendPeer::ID, Criteria::INNER_JOIN);
$c->addJoin(SendDistributionPeer::ID_DISTRIBUTION, MomentoDistributionPeer::ID, Criteria::INNER_JOIN);
$c->addJoin(MomentoDistributionPeer::MOMENTO_ID, MomentoPeer::ID, Criteria::INNER_JOIN);
$c->add(MomentoSendPeer::MOMENTO_IDMEMBER, 6);
我认为您不能使用propel 1.4选择m.*
。因此,您必须手动添加所有字段。