我是對的學說ORM新的,所以我努力學習的PS教程部分://knpuniversity.com/screencast/doctrine-queries/dql,但我仍然感到困惑的EXP:doctrine entityrepository如何工作?
SRC /AppBundle/Entity/Category.php
class Category
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255)
*/
private $name;
/**
* @var string
*
* @ORM\Column(name="iconKey", type="string", length=20)
*/
private $iconKey;
/**
* @ORM\OneToMany(targetEntity="FortuneCookie", mappedBy="category")
*/
private $fortuneCookies;
01訪問構建方法我們可以通過
但如果我們想進入新的方法,我們可以爲存儲庫這樣做
$categoryRepository = $this->getDoctrine()
->getManager()
->getRepository('AppBundle:Category');
$categories = $categoryRepository->findAllOrdered();
然後提供一流
的src /的appbundle /實體/ CategoryRepository.php
class CategoryRepository extends EntityRepository
{
public function findAllOrdered()
{
die('this query will blow your mind...');
}
}
我還是不明白!
$categoryRepository = $this->getDoctrine()
->getManager()
->getRepository('AppBundle:Category');
如果上述點類別的實體,怎麼就突然可以鏈接到CategoryRepository,我們可以訪問findAllOrdered()方法?我錯過了什麼人請幫助?
你缺少其中的類別實體鏈接到您的自定義類別庫中的一部分。 @AlbertoFecchi - 錯誤和誤導。版本庫前綴與任何內容無關。 https://symfony.com/doc/current/doctrine/repository.html – Cerad
謝謝@Cerad現在我明白了邏輯/ ** * @ORM \ Entity(repositoryClass =「AppBundle \ Repository \ ProductCategory」) */ 班級類別 – kristyan