Symfony1 Symfony:如何使用未定义的外键记录保存记录

Symfony1 Symfony:如何使用未定义的外键记录保存记录,symfony1,symfony-1.4,Symfony1,Symfony 1.4,例如,注释表在作者表中有外键。保存新评论时如何创建新的作者记录?e、 g:Comment:id=1,author\u id=[与author表关联的新生成id],content=“这是一条新的注释”。作者:id=1,作者名称=[新生成的作者名称] 这与Symfony无关。我想你是在使用教义,对吗?那么,您所要做的就是创建注释和作者对象: $author = new Author(); $author->setName('Crozin'); $comment = new Comment()

例如,注释表在作者表中有外键。保存新评论时如何创建新的作者记录?e、 g:Comment:id=1,author\u id=[与author表关联的新生成id],content=“这是一条新的注释”。作者:id=1,作者名称=[新生成的作者名称]

这与Symfony无关。我想你是在使用教义,对吗?那么,您所要做的就是创建
注释
作者
对象:

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

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

$comment->save();

Doctrine应该认识到,您使用的是两个全新的对象,它们没有在数据库中持久化,因此这两个对象都将被插入。

必须使用symfony表模型类来处理所有这些。是的,我使用的是Doctrine。我如何首先确保“Crozin”不在表中?谢谢。@Yzmir Ramirez:实际上Doctrine1.2并没有你想象的那么好@WhamsCore:嗯,您必须统计数据库中出现的
Crozin
。这有点离题了,但你不喜欢1.2条的什么?你认为推进更好吗?理论1.2.1中的东西很烂。在我看来,它使用的是非常糟糕的,因为它会中断(这是整个OOP中最重要的事情之一)。2.它迫使您编写一个强烈依赖于原则的代码。3.这太神奇了。4.对于稍微高级一点的项目来说,这太慢了。5.要让它透明运行是非常困难的。谢天谢地,教义2改善了大部分情况。另外,我从未想过推进是一种更好的ORM