Thelia新手在这里。我只是试图通过其(英文)URL查询类别。我可以RewritingUrlQuery
找到正确的rewriting_url
行,但我无法弄清楚如何将其合并到CategoryQuery
。
这是我到目前为止所拥有的:
public function showAction($slug) {
$urlFilter = RewritingUrlQuery::create()
->filterByUrl($slug);
$category = CategoryQuery::create()
->filterBy('url', $urlFilter)
->findOne();
毫不奇怪,这失败了,错误消息"模型Thelia \ Model \ Category"中的未知列url。我想知道我应该使用除CategoryQuery
以外的filterBy
方法,还是稍微不同的方法来查询类别?我无法想象Thelia / Symfony没有提供一种简单的方法...
答案 0 :(得分:1)
事实证明这很简单,我怀疑! :)
我只需从返回的viewId
对象中获取RewritingUrl
(URL中表示的类别的ID),然后在CategoryQuery
中使用该ID:
$urlFilter = RewritingUrlQuery::create()
->filterByView('category')
->filterByUrl($slug)
->findOne();
$category = CategoryQuery::create()
->filterById($urlFilter->getViewId())
->findOne();
请注意,此处我还在第一个方法链中添加了filterByView('category')
调用,以表明我真的只关心类别网址。