2011-01-24 2 views
2

Например, таблица комментариев имеет внешний ключ в таблице «Автор». Как создать новую запись автора при сохранении нового комментария? Например: Комментарий: id = 1, author_id = [вновь созданный идентификатор, связанный с таблицей автора], content = «это новый комментарий». Автор: id = 1, author_name = [имя созданного автора].Symfony: Как сохранить запись с неопределенной записью внешнего ключа

ответ

4

Это не имеет никакого отношения к Symfony. Я полагаю, вы используете Доктрину, я прав? Ну, все, что вам нужно сделать, это создать Comment и Author объекты:

$author = new Author(); 
$author->setName('Crozin'); 

$comment = new Comment(); 
$comment->setAuthor($author); 
$comment->setContent('This is my first comment!'); 

$comment->save(); 

Доктрина должна признать, что вы используете две совершенно новые объекты, которые не сохраняются в базе данных и, таким образом, как объект будет вставлен.

+0

Gotta lover symfony Табличные классы моделей для обработки всего этого. –

+0

Да, я использую Доктрину. Как мне сначала убедиться, что «Крозин» еще не в таблице? Благодарю. – whamsicore

+0

@Yzmir Ramirez: На самом деле Doctrine1.2 действительно не так хорош, как вы могли подумать об этом. @whamsicore: Ну, вы должны подсчитать вхождения «Крозина» в базу данных. [Вот пример того, как это сделать] (http://www.doctrine-project.org/projects/orm/1.2/docs/manual/data-hydrators/en#core-hydration-methods:single-scalar) – Crozin

Смежные вопросы