CakePHP 4: selezionare gli articoli che hanno più tag assegnati

Nel controller che riceve i tags da cercare:

$tags = $values['tags']; 
$query->select($this->Articles);
$query->select($this->Articles->Topics);
$query->select($this->Articles->Categories);
$query->select(['tot' => $query->func()->count('*')]);
$query->matching('Tags',function ($q) use ($tags) {
         return $q->where(['Tags.id IN' => $tags]);
});
$query->group('Cards.id')->having(['tot' => count($tags)]);

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.