我是symfony2中的新成員。當我通過命令行創建實體類時創建了存儲庫類。但我無法訪問該存儲庫類中的自定義函數。如何在symfony2中創建自定義存儲庫類?有人可以從頭開始一步一步解釋一些示例代碼嗎?symfony2中的自定義存儲庫類
下面是我的倉庫類
namespace Mypro\symBundle\Entity;
use Doctrine\ORM\EntityRepository;
/**
* RegisterRepository
* This class was generated by the Doctrine ORM. Add your own custom
* repository methods below.
*/
class RegisterRepository extends EntityRepository
{
public function findAllOrderedByName()
{
return $this->getEntityManager()
->createQuery('SELECT p FROM symBundle:Register p ORDER BY p.name ASC')
->getResult();
}
}
我在我的控制器被稱爲像這樣
$em = $this->getDoctrine()->getEntityManager();
$pro = $em->getRepository('symBundle:Register')
->findAllOrderedByName();
我得到了下面的錯誤
Undefined method 'findAllOrderedByName'. The method name must start with either findBy or findOneBy!
我是否有任何錯誤我代碼?創建存儲庫類時出現任何錯誤?我是否需要使用任何課程?
魯文,我得到了正確的輸出,但在我的NetBeans IDE中無法檢測到我的自定義庫function.y?你知道嗎? –
我不認爲netbean可能知道自定義存儲庫。我的版本的netbean不會自動完成symfony特定的代碼。 – Reuven
我有同樣的問題,我沒有用Symfony生成EntityRepository ...但是我沒有在src/Projet/Bundle/Resources/config /中有任何名爲「doctrine」的文件夾...出了什麼問題? – httpete