Исключить элементы из запроса на основе их тегов с помощью Symfony / diem и doctrine - PullRequest
1 голос
/ 30 мая 2011

В DIEM CMF я хотел бы сделать условное утверждение, которое исключило бы некоторые статьи, основанные на модели тегов

Документация Diem дает следующее для условных запросов (http://diem -project.org / diem-5-1 / doc / en / reference-book / list-widgets)

$query = $this->getListQuery('post')
->addWhere('post.name LIKE ?', '%symfony%');  

Есть ли способ исключить какое-либо сообщение в соответствии с имеющимися тегами?

Спасибо

Обновление

Вот мой новый запрос, который кажется лучше (по крайней мере мне), но он все еще не работает.

public function executeList()
{
    $query = $this->getListQuery();
    $query->leftJoin('DmTag');
    $query->addWhere('DmTag.name NOT LIKE ?', '%Fichets%');
    $this->articlePager = $this->getPager($query);
    $this->articlePager->setOption('ajax', true);
  }

Блог Diemсделано в соответствии с руководством Diem, и я использую стандартный (так сказать, из коробки) плагин Diem Tag.Я не изменил ни модель, ни название таблицы.

1 Ответ

1 голос
/ 31 мая 2011

Это рабочий запрос:

public function executeList()
{
    $query = $this->getListQuery('a'); // add an alias
    $query->leftJoin('a.Tags t'); // Join on the DmTag table
    $query->addWhere('t.name NOT LIKE ?', '%Fichets%'); //Exclude the articles with a certain tag
    $this->articlePager = $this->getPager($query);
    $this->articlePager->setOption('ajax', true);
  }
...