当我想将一些数据插入数据库时,我不知道是什么问题它显示了这个错误
<?php
namespace ArticleBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* ArticleRate
*
* @ORM\Table(name="article_rate")
* @ORM\Entity(repositoryClass="ArticleBundle\Repository\ArticleRateRepository")
*/
class ArticleRate
{
/**
* @var \DateTime
*
* @ORM\Column(name="date", type="date")
*/
private $date;
/**
* @var int
*
* @ORM\Id
* @ORM\OneToOne(targetEntity="Article")
* @ORM\JoinColumn(name="article_id", referencedColumnName="id")
*/
private $idArticle;
/**
* @var int
* @ORM\Id
* @ORM\OneToOne(targetEntity="GUBundle\Entity\Utilisateur")
*
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
private $idUser;
public function __construct()
{
$this->date = new \DateTime();
}
/**
* Get id
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set date
*
* @param \DateTime $date
*
* @return ArticleRate
*/
public function setDate($date)
{
$this->date = $date;
return $this;
}
/**
* Get date
*
* @return \DateTime
*/
public function getDate()
{
return $this->date;
}
/**
* Set idArticle
*
* @param integer $idArticle
*
* @return ArticleRate
*/
public function setIdArticle($idArticle)
{
$this->idArticle = $idArticle;
return $this;
}
/**
* Get idArticle
*
* @return int
*/
public function getIdArticle()
{
return $this->idArticle;
}
/**
* Set idUser
*
* @param string $idUser
*
* @return ArticleRate
*/
public function setIdUser($idUser)
{
$this->idUser = $idUser;
return $this;
}
/**
* Get idUser
*
* @return string
*/
public function getIdUser()
{
return $this->idUser;
}
}
/**
* @param $id
* @return JsonResponse
*/
public function AimeArticlesAction($id)
{
$em = $this->getDoctrine()->getManager();
$article=new ArticleRate();
$article->setIdArticle(1);
$article->setIdUser(1);
dump($article);
$article=(object) $article;
$em->persist($article);
$em->flush();
return new JsonResponse("yes");
}
}
答案 0 :(得分:0)
这个错误对我来说似乎很清楚:你给出一个整数(1)并且教义需要一个对象。
Doctrine是管理对象。这意味着您应该使用($width, $height)
而不是$article->getUser()->getId()
。
针对您的具体问题:这两个函数需要对象
$article->getUserId()
这就是为什么你应该命名这些方法 $article->setIdArticle(1);
$article->setIdUser(1);
和Article
。
您可以使用User
getReference
请阅读我认为您远离良好做法的学说文档