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 に答える