symfonyの場合& & doctrine 1.2のアクションでは、ユーザーのトップランクのWebサイトを表示しようとします。Doctrine:コレクションを操作する方法は?
私がやった:
public function executeShow(sfWebRequest $request)
{
$this->user = $this->getRoute()->getObject();
$this->websites = $this->user->Websites;
}
唯一の問題は、それがすべてそれでウェブサイトやトップランクのものではないだけでDoctrineのコレクションを返すことです。
Iすでにセットアップ方法(getTopRanked()
)が、私がしなければ:
$this->user->Websites->getTopRanked()
それが失敗しました。
Doctrineコレクションを変更してトップランクだけをフィルタリングする考えがあれば誰でも。
おかげ
PS:私の方法は、(websiteTable.class.phpで)次のようになります。
public function getTopRanked()
{
$q = Doctrine_Query::create()
->from('Website')
->orderBy('nb_votes DESC')
->limit(5);
return $q->execute();
}
あなたは ')(' getTopRankedをどこに置いたのとどのようにそれが見えますか? – DrColossos
私の編集を見て、私は機能を追加しました。 :-) –
特定のユーザーに属するすべてのWebサイトではなく、すべてのWebサイトの値を読み取ります。あなたがユーザーオブジェクト内から呼び出すとしても、あなたのクエリはユーザーの値を使用しません...私はDoctrineが必要なJOINを独自に追加するとは思いません。 – DrColossos