0

実行するクエリをフォローしました

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には、テーブル間の適切な関係があります。

誰かが推進力の基準(またはそれに最適なもの)を介してこのクエリを達成する方法を提案できますか?私は2時間以上それを試していますが成功しませんでした。

4

1 に答える 1

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);

m.*推進1.4を使用して選択することはできないと思います。したがって、すべてのフィールドを手動で追加する必要があります。

于 2012-08-30T09:40:57.813 に答える