rcerrejon
2/11/2016 - 11:48 AM

Extbase FindBy m:m relation (Categories)

Extbase FindBy m:m relation (Categories)


//in Repository
/**
 * Findby Categories
 * 
 * @param type $categories
 * @return type
 */
public function findByCategories($categories) {
    $query = $this->createQuery();
    foreach ($categories as $category) {
        $constraint[] = $query->contains('category', $category);
    }
    $result = $query->matching($query->logicalAnd($query->logicalAnd($constraint)))->execute();
    if (count($result) > 0) {
        return $result;
    }
}

//in Controller
//Find items by Categories
$itemByCat = $this->yourRepository->findByCategories($item->getCategory());
$this->view->assign('itemsbycategories', $itemByCat);