Ran*_*hir 1 entity symfony doctrine-orm
我的应用程序使用symfony框架.为了保存数据库中的记录,我想调用$ this-> getDoctrine() - > getManager(); 我的实体类中的方法.但是当我这样做时它给了我错误:调用未定义的方法getDoctrine(),
有人可以告诉我这是怎样的正确方法.
我的实体类如下:
命名空间Acme\SuperbAppBundle\Entity;
使用Symfony\Component\DependencyInjection\Container; 使用Doctrine\ORM\Mapping作为ORM;
class Users
{
/**
* @var integer
*/
private $id;
/**
* @var string
*/
private $firstName;
/**
* @var string
*/
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set firstName
*
* @param string $firstName
* @return Users
*/
public function setFirstName($firstName)
{
$this->firstName = $firstName;
return $this;
}
/**
* Get firstName
*
* @return string
*/
public function getFirstName()
{
return $this->firstName;
}
function __construct($firstName){
$this->setFirstName($firstName);
}
function save(){
$em = $this->getDoctrine()->getManager();
$em->persist($create);
$em->flush();
}
}
Run Code Online (Sandbox Code Playgroud)
我的控制器方法如下:
public function test(){
$create = new Users('Rajat');
$create->save();
}
Run Code Online (Sandbox Code Playgroud)
您的保存方法正在尝试呼叫
$this->getDoctrine();
Whereby $this是当前的Class,以及它继承的任何其他Class.就目前而言,您当前的Class,User是独立的,并且没有getDoctrine()方法.如果您的类要扩展Controller类,它可以访问该方法:
class User extends Controller
我相信这个简单的修补程序将正常工作,但它可能没有任何真正意义上为它扩展控制器,因为它是一个用户实体,并无关的控制器.一种首选的,更高级的方法是将Doctrine服务注入User类.
| 归档时间: |
|
| 查看次数: |
15982 次 |
| 最近记录: |