0
に多くの関係を持つエンティティオブジェクトを検索し、私は三つのパラメータによって、ユーザーを検索するフォームを作ってるんですカテゴリにmanyToToを、その他のパラメータにManyToManyの関係があります。私はcategorieで検索したい場合は、私はこのコードを使用する必要があるとしますsymfonyの多くの
$users = $em->getRepository('CASUsuariosBundle:Artist')->findByCategory($category);
しかし、どのように私は他のパラメータでそれを行うことができますか?特に、複数の選択肢であるサブカテゴリを使用します。
Userエンティティ:
/**
* @ORM\ManyToOne(targetEntity="\CAS\EventBundle\Entity\Category", inversedBy="artists")
* @ORM\JoinColumn(name="category_id", referencedColumnName="id")
*/
private $category;
/**
* @ORM\ManyToMany(targetEntity="\CAS\EventBundle\Entity\Subcategory", inversedBy="artists")
* @ORM\JoinTable(name="artists_subcategories",
* joinColumns={@ORM\JoinColumn(name="artist_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="subcategory_id", referencedColumnName="id")}
* )
*/
private $subcategories;
/**
* @ORM\ManyToMany(targetEntity="\CAS\EventBundle\Entity\Province", inversedBy="artists")
* @ORM\JoinTable(name="artists_provinces",
* joinColumns={@ORM\JoinColumn(name="artist_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="province_id", referencedColumnName="id")}
* )
*/
protected $provinces;
はSearchController:
public function searchAction(Request $request) {
$search = new Search();
$em = $this->getDoctrine()->getManager();
$form = $this->createForm(new SearchType($this->getDoctrine()->getManager()), $search);
$form->setData($search);
$form->handleRequest($request);
if ($form->isValid() || $form->isSubmitted()) {
$category = $form->get('category')->getData();
$subcategories = $form->get('subcategories')->getData();
$province = $form->get('province')->getData();
return $this->showAction($category, $subcategories, $province);
}
return $this->render('CASUsuariosBundle:Profile:search.html.twig', array(
'form' => $form->createView()
));
}
public function showAction($category, $subcategories, $province) {
return $this->render('CASUsuariosBundle:Profile:search_results.html.twig');
}