У меня проблемы с прохождением руководства по доктрине и попыткой настроить репозитории сущностей.
// _src/entities/User.php
/**
* @ORM\Entity(repositoryClass="UserRepository")
* @Entity @Table(name="users")
*/
class User
{
/**
* @Id @GeneratedValue @Column(type="integer")
* @var int
*/
protected $id;
/** @Column(type="string") */
protected $fname;
/** @Column(type="string") */
protected $lname;
public function getId()
{
return $this->id;
}
public function getFname()
{
return $this->fname;
}
public function setFname($fname)
{
$this->fname = $fname;
}
public function getLname()
{
return $this->lname;
}
public function setLname($lname)
{
$this->lname = $lname;
}
}
Затем я звоню:
$users = $em->getRepository('User')->getUsersByLastName('user');
var_dump($users);
Мой репо:
// _src/entities/UserRepository.php
use Doctrine\ORM\EntityRepository;
class UserRepository extends EntityRepository
{
public function getUsersByLastName($lname)
{
$dql = "SELECT u FROM User u WHERE u.lname = ?1 ORDER BY b.created DESC";
return $this->getEntityManager()->createQuery($dql)
->setParameter(1, $lname)
->getResult();
}
}
Я следую учебному пособию и не понимаю, чего мне не хватает.Любая помощь будет потрясающей.Я пытаюсь изучить это довольно быстро и не могу поверить, что я уже сталкивался с этими проблемами.
Вот ошибка, которую я получаю:
Неустранимая ошибка PHP: Uncaught BadMethodCallException: Undefined method 'getUsersByLastName.Имя метода должно начинаться либо с findBy, либо с findOneBy!в /Users/ks/Documents/PHPStormProjects/dan/_vendor/doctrine/orm/lib/Doctrine/ORM/EntityRepository.php:226
Трассировка стека:
# 0 / Users / ks/Documents/PHPStormProjects/dan/test.php(27): Doctrine \ ORM \ EntityRepository -> вызов __ ('getUsersByLastN ...', Array)
# 1 {main} добавляется в / Users / ks /Документы / PHPStormProjects / dan / _vendor / doctrine / orm / lib / Doctrine / ORM / EntityRepository.php в строке 226