如何從控制器的存儲庫中找到記錄?它只搜索ID,但我想通過電子郵件搜索或任何我想要的?如何在symfony2中找到存儲庫中的記錄
$em = $this->getDoctrine()->getRepository('HomeBundle:user')->find($email);
如何從控制器的存儲庫中找到記錄?它只搜索ID,但我想通過電子郵件搜索或任何我想要的?如何在symfony2中找到存儲庫中的記錄
$em = $this->getDoctrine()->getRepository('HomeBundle:user')->find($email);
您需要使用findOneBy(array)
通過電子郵件
$em = $this->getDoctrine()->getRepository('HomeBundle:user')
->findOneBy(array('email' = >$email));
爲什麼不使用findOneBy?
$user = $this->getDoctrine()
->getRepository('HomeBundle:user')
->findBy(array('email' => $email));
它的工作..謝謝:) –
簡單查詢(基本上WHERE column = value
)找到單個記錄,你可以使用findBy
或findOneBy
。
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('HomeBundle:user')
->findOneBy(array("email"=>$email),array());
$entities = $em->getRepository('HomeBundle:user')
->findBy(array("email"=>$email), array());
如果您需要更復雜的(如>=
或連接),你可以使用query builder或dql。
但是您應該創建一個Custom Repository並將您的查詢放在那裏,以使它們可重用,並保持您的控制器纖細。
這包括以下四個步驟:
EntityRepository
findOneBy
它的工作。 。 謝謝 :) –
它的工作..謝謝:) –
該死的我還要更快@M哈立德·朱奈德得到公認的答案:( – Enjoyted