4

Propel で結合されたテーブルの列に基づいてフィルタリングするにはどうすればよいですか?

お気に入り:

$results = FooQuery::create()->joinBar()->filterByBarSurname('surname');
4

1 に答える 1

7

ドキュメントでuse説明されているように、メソッドを使用する必要があります:

$results = FooQuery::create()
  ->useBarQuery()
    ->filterBySurname('surname')
  ->endUse()
  ->find();

// example Query generated for a MySQL database
$query = 'SELECT foo.* from foo
INNER JOIN bar ON foo.BAR_ID = bar.ID
WHERE bar.SURNAME = :p1'; // :p1 => 'surname'

使用する必要がある場合は、メソッドjoin()を使用できないと思いますfilterByXXXが、古いwhere:

$results = FooQuery::create()
  ->join('Foo.Bar')
  ->where('Bar.surname = ?', 'surname')
  ->find();
于 2012-06-26T12:47:31.857 に答える