ali_vavan2009
سه شنبه 22 دی 1394, 10:30 صبح
سلام دوستان
از Model زیر استفاده میکنم:
/**
* @ORM\Entity
* @ORM\Table(name="posts")
*/
class Post
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
protected $id;
/**
* @ORM\Column(type="integer")
*/
protected $user_id;
...
/**
* @ORM\OneToOne(targetEntity="User")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
private $user;
...
/**
* @return mixed
*/
public function getUserId()
{
return $this->user_id;
}
/**
* @param mixed $user_id
*/
public function setUserId($user_id)
{
$this->user_id = $user_id;
}
/**
* @return mixed
*/
public function getUser()
{
return $this->user;
}
}
و با خطای زیر مواجعه میشم:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'user_id' cannot be null
نکته: در زمان INSERT کردن نمی خوام از setUser استفاده کنم.
عملا از JoinColumn فقط خروجی میخوام، و نمی خوام در جاهای دیگه تغییر به وجود بیارم.
چطوری باید کاری کنم که از JoinColumn فقط خروجی بگیرم؟
از Model زیر استفاده میکنم:
/**
* @ORM\Entity
* @ORM\Table(name="posts")
*/
class Post
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
protected $id;
/**
* @ORM\Column(type="integer")
*/
protected $user_id;
...
/**
* @ORM\OneToOne(targetEntity="User")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
private $user;
...
/**
* @return mixed
*/
public function getUserId()
{
return $this->user_id;
}
/**
* @param mixed $user_id
*/
public function setUserId($user_id)
{
$this->user_id = $user_id;
}
/**
* @return mixed
*/
public function getUser()
{
return $this->user;
}
}
و با خطای زیر مواجعه میشم:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'user_id' cannot be null
نکته: در زمان INSERT کردن نمی خوام از setUser استفاده کنم.
عملا از JoinColumn فقط خروجی میخوام، و نمی خوام در جاهای دیگه تغییر به وجود بیارم.
چطوری باید کاری کنم که از JoinColumn فقط خروجی بگیرم؟