У меня есть форма доктрины в Symfony, которая сохраняет определенный объект в таблице в БД. Таким образом, я хочу также обновить другой объект, который имеет отношение к первому, поэтому объекты получают отношение (один-ко-многим), обновляемое по мере сохранения первого объекта.symfony 1.4, обновляющий некоторый объект в то время как (или после) сохранение другого связанного с ним
Я действительно не знаю, если это вообще возможно ...
Я отправлю мой код, в качестве ссылки:
Схема:
Entry:
columns:
pic: { type: integer, notnull: false, default: null }
relations:
Pic:
local: pic
foreign: id
onDelete: SET NULL
Pics:
type: many
class: Pic
local: id
foreign: entry_id
Pic:
columns:
id: { type: integer, notnull: true, primary: true, autoincrement: true }
entry_id: { type: integer, notnull: true, primary: true }
pic: { type: string(255), notnull: true }
relations:
Entry:
local: entry_id
foreign: id
onDelete: CASCADE
У меня есть еще один отношение «многие ко многим» между Pic и Entry, потому что в Entry может быть много фотографий, но первый созданный Pic I также должен быть определен как «Default» Pic, который я ставил в поле Entry.pic ...
(я ранее и правильно создал запись, так что теперь я должен получить новый Pic, который будет «по умолчанию» для Entry) ... В действиях create для таблицы Pic я хочу обновить запись так, он знает совершенно новый Pic я только добавил, что и должны получить связаны «по умолчанию» с ним ...
Pic actions.class.php:
public function executeCreate(sfWebRequest $request)
{
$this->form = new PicForm();
$this->form->bind(
$request->getParameter($form->getName()),
$request->getFiles($form->getName())
);
if ($form->isValid())
{
$this->pic = $form->save();
$entry = $this->pic->getEntry();
$entry->updateSetPic($this->pic);
$this->redirect('entry_show', $entry);
}
}
Наконец, я следующий «updateSetPic 'метод в Lib/модели/доктрина/файл Entry.class.php:
public function updateSetPic(Pic $pic)
{
$this->setPic($pic);
$this->save();
}
проблема у меня есть правильный п ow - это то, что, по-видимому, метод upateSetPic, получивший недавно сохраненный объект Pic (в методе создания действий Pic), просто ничего не получает, как если бы объект Pic, который метод $ form-> save() ничего не имеет в нем (даже хотя, на самом деле это экономит, но, может быть, на этом этапе это не совершается или что-то в этом роде?)
Итак, мой вопрос: неужели я это делаю? Или где я ошибаюсь? Есть ли способ усвоить то, что мне нужно? Если да, то в чем дело? Может быть, мне нужно объединиться в другую часть процесса сохранения Pic, но я уже давно утерян ...
Любые идеи?
Спасибо!
Извините, $ entrada неверен, он должен быть $ entry ... Я проверю ссылку, которую вы мне дали. благодаря –