Вот небольшая проблема, которая беспокоит меня на некоторое время, и я до сих пор не полностью овладеть отношения между лицом, я не могу решить эту проблему, несмотря на мою кучу исследований ....Symfony2 отношения ошибка OneToOne однонаправленный
I есть сущность «Activite», в котором у меня есть OneToOne отношение к сущности «ActiviteImage», зная, что деятельность не обязательно ассоциируют картину:
class Activite
{
....
/**
* @ORM\OneToOne(targetEntity="ISC\PlatformBundle\Entity\ActiviteImage", cascade={"persist", "remove"})
*/
private $image;
....
/**
* Set image
*
* @param \ISC\PlatformBundle\Entity\ActiviteImage $image
* @return Activite
*/
public function setImage(ActiviteImage $image = null)
{
$this->image = $image;
return $this;
}
/**
* Get image
*
* @return \ISC\PlatformBundle\Entity\ActiviteImage
*/
public function getImage()
{
return $this->image;
}
}
class ActiviteImage
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="urlImage", type="string", length=255)
*/
private $urlImage;
}
мой контроллер, когда форма была отправлена:
$activite->setTextActivity($contentActu);
$activite->setIdFriend(0);
$activite->setDatetimeActivity(new \DateTime());
$image = new ActiviteImage();
$image->setUrlImage('http://127.0.0.1:81/IMC/web/uploads/img/'.$fileName);
$activite->setImage($image);
$em->persist($activite);
$em->flush();
Не следует полагаться на простой адрес, это только тесты на данный момент.
Добавление базы данных двух объектов работает только тогда, когда я буду проверять вручную операцию в моей таблице действий. Image_id столбец пуст, он не является NULL, просто пустым (поэтому нет связи с ActiviteImage в таблице) ...
(И если это поможет вам, я знаю, что мы не должны касаться непосредственно таблицы, но я пытаюсь указать идентификатор изображения, phpMyAdmin не возвращает ошибку, просто «0 размещен в Интернете» cf. image - >http://imageshack.com/a/img923/3784/tSiY9d.png)
Другая информация, которая может быть полезна, когда я иду смотреть приложение, выполняемую Symfony я воспринимаю себя, что это хорошо:
INSERT INTO activite (idUser, idTypeActivite, idFriend, textActivity, datetimeActivity, image_id) VALUES (?, ?, ?, ?, ?, ?)
Parameters: { 1: 1, 2: 2, 3: 0, 4: fghgfh, 5: '2016-09-07 16:30:13', 6: 1 }
Я несколько раз возвращался к учебник Winzou на Openclassroom мышления я что-то пропустил, но если это так, я не понимаю, что ...
Так что, если у вас небольшая отслеживать, чтобы дать мне для этой проблемы сохраняется и относительно хлопотно: эм:
(Не легко понять отношения ... :()
Заранее спасибо,
Kay