1

在 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 插件。我没有修改模型也没有修改表的名称。

4

1 回答 1

1

这是工作查询:

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);
  }
于 2011-05-31T15:07:56.093 回答