0

こんにちは、

私はこのクエリを翻訳しようとします:

SELECT *
FROM `reunion` , lieu
WHERE reunion.lieu_reunion = lieu.id_lieu

クエリを推進するには:

$c=new Criteria();
$c->addJoin(ReunionPeer::LIEU_REUNION,LieuPeer::ID_LIEU, Criteria::LEFT_JOIN);
$this->reunions = ReunionPeer::doSelect($c);

しかし、私のテンプレートでは、print_r($reunions) を作成したときに、フィールド "ville" (テーブル 'lieu' から) が存在しません。

どうして ??

4

2 に答える 2

1

まず、propel クエリは次のように変換されます。

SELECT * FROM `reunion` LEFT JOIN lieu ON (reunion.lieu_reunion = lieu.id_lieu);

次に、これを提案できます。

$c=new Criteria();
$c->clearSelectColumns();
ReunionPeer::addSelectColumns($c);
LieuPeer::addSelectColumns($c);

$c->addJoin(ReunionPeer::LIEU_REUNION,LieuPeer::ID_LIEU, Criteria::LEFT_JOIN);
$this->reunions = ReunionPeer::doSelect($c);
于 2010-06-03T07:18:31.773 に答える
1

データベーススキーマでこの外部キーを宣言した場合、Propel は 1 つのクエリで関連するテーブルとオブジェクトの結合とハイドレーションを行う追加の関数を作成します:

$this->reunions = ReunionPeer::doSelectJoinLieu(new Criteria());
于 2010-06-03T11:29:55.527 に答える