我正在创建一个简单的学说项目,我有一个使用VM的示例,但我在Windows中做,我可以访问我的Repository类中的任何Repository函数。
用户实体:
<?php
namespace Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* User
*
* @ORM\Table(name="user", indexes={@ORM\Index(name="user_user_group_id", columns={"user_group_id"})})
* @ORM\Entity(repositoryClass="Repository\UserRepository")
*/
class User
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
用户存储库:
<?php
namespace Repository;
use Doctrine\DBAL\Exception\UniqueConstraintViolationException;
use Entity\User;
use Doctrine\ORM\EntityManager;
/**
* Class UserRepository
*
* @package Entity
*/
class UserRepository extends EntityRepository
{
/**
* Return all users
*
* @return array
*/
public function findAll()
{
return $this->em->getRepository("Entity\User")->findAll();
}
/**
* Find an user by id
*
* @param $id
*
* @return null|object
*/
public function findOne($id)
{
return $this->em->getRepository("Entity\User")->find($id);
}
当我尝试在Controller中访问findOne
函数时,收到此错误:
致命错误:调用未定义的方法 储存库\ UserRepository ::找到()
当我尝试在Controller中访问findAll
函数时,收到此错误:
致命错误:达到最大功能嵌套级别'100', 中止! 第187行
vendor\doctrine\common\lib\Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory.php
创建我使用的实体:
orm:convert-mapping --force --from-database annotation ./src/Entity
orm:generate-entities ./src/Entity --generate-annotations=true
谢谢!