2017-02-23 5 views
0

Thelia初心者はこちら。私は、カテゴリを(英語)URLで照会しようとしています。私は正しいrewriting_url行を見つけるためにRewritingUrlQueryを得ることができますが、これをCategoryQueryに組み込む方法を理解することはできません。Thelia:URLでカテゴリをクエリするにはどうすればよいですか?

public function showAction($slug) { 
    $urlFilter = RewritingUrlQuery::create() 
    ->filterByUrl($slug); 

    $category = CategoryQuery::create() 
    ->filterBy('url', $urlFilter) 
    ->findOne(); 

は驚くことではないが、これは、エラーメッセージ「モデルThelia \モデル\カテゴリで不明な列のURL」で失敗します。

は、ここで私がこれまで持っているものです。 filterBy以外の方法を使用しているはずのCategoryQueryメソッドがあるか、またはカテゴリをクエリするためのやや異なるアプローチがあるのでしょうか?私はThelia/Symfonyがこの単純なことをする方法を提供していないとは想像できません...

+0

詳細を追加できますか?カテゴリにはスラッグフィールドがありますか? theliaは何ですか? URLフィルタとは何ですか? – goto

答えて

1

私は疑ったように、それは非常に簡単であることが判明しました! :)

は、私は単純に返さRewritingUrlオブジェクトからviewId(URLで表さカテゴリのID)を取得した後、CategoryQueryにそのIDを使用していた。ここで私

$urlFilter = RewritingUrlQuery::create() 
    ->filterByView('category') 
    ->filterByUrl($slug) 
    ->findOne(); 

$category = CategoryQuery::create() 
    ->filterById($urlFilter->getViewId()) 
    ->findOne(); 

注意をまた、最初のメソッドチェーンへの呼び出しをfilterByView('category')と追加しました。これは、カテゴリURLを本当に気にしていることを示しています。

関連する問題