2011-01-04 14 views
4

を渡す:のsymfony:sfDoctrineRouteは、私はsymfonyの1.4を使用していると私は私の/ -routeのためのルートを以下している追加のパラメータ

homepage: 
    url: /
    class: sfDoctrineRoute 
    options: { model: ContentPage, type: object} 
    param: { module: page, action: show} 

と私のショーアクションは次のようになります。

class pageActions extends sfActions 
{ 
    public function executeShow(sfWebRequest $request) 
    { 
    $this->content_page = $this->getRoute()->getObject(); 
    $this->forward404Unless($this->content_page); 
    $this->forward404Unless($this->content_page->getPublished()); 
    } 
} 

それは動作しますが、常にContentPage-Tableの最初のエントリを選択します。 routing.yml内に特定のIDなどを使用するために "Doctrine-Select-Parameter"を渡す方法はありますか?

よろしくお願いします。 uhu。

答えて

4

getObjectsForParameters()の方法をsfDoctrineRouteとしてください。 ご覧のとおり、ルート定義でmethodオプションを使用して、結果を取得するために使用するテーブルモデルのメソッドを定義できます。このメソッドで条件を追加できます。

第2の解決方法は、method_for_queryオプションを使用して、テーブルモデルのどのメソッドを使用してクエリを変更し、結果を取得するかを指定することです。

関連する問題