У меня есть две таблицы в моей базе: sliders
и images
. Один слайдера может иметь много изображений, поэтому структура таблиц:Doctrine: Как вставить значение внешнего ключа
--------- --------
| SLIDERS | | IMAGES |
--------- --------
| id | | id |
--------- --------
| title | | title |
--------- --------
| sid |
--------
SID is a foreign key associated to id in "SLIDERS" table.
В сущностях я поставил двунаправленные отношения OneToMany
и ManyToOne
, так неправдоподобный результат Slider будет содержать Images Objects
, которые принадлежат ему, и изображениям будут содержать Slider Object
, что принадлежит им.
ползунки Entity:
class Sliders
{
...
/**
* @ORM\OneToMany(targetEntity="Images", mappedBy="slider")
*/
protected $images;
Изображения Entity:
class Images
{
...
/**
* @ORM\ManyToOne(targetEntity="Sliders", inversedBy="images")
* @ORM\JoinColumn(name="sid", referencedColumnName="id")
*/
protected $slider;
Это действительно удобно для выборки. Но теперь я не могу понять, как можно INSERT
sid
в таблицу Images
, так как у меня нет этого поля в моем объекте, кроме $slider
, который возвращает Object. Можно ли это сделать, используя это $slider
?
Вы работаете над объектами, доктрина делает все остальное – jamek
Итак, у меня есть только cann 'setSlider()' и поместить объект слайдера в качестве аргумента, а Doctrine будет генерировать 'sid' из него? –
yeap, вы работаете только на объектах – jamek