2011-01-24 8 views
2

たとえば、コメントテーブルには、作成者テーブルに外部キーがあります。新しいコメントを保存するときに、新しい著者レコードを作成するにはどうすればよいですか?コメント:id = 1、author_id = [著者テーブルに関連付けられた新しく生成されたID]、content = "これは新しいコメントです"。著者:id = 1、author_name = [新しく作成された著者名]。Symfony:未定義の外部キーレコードを持つレコードを保存する方法

答えて

4

これはSymfonyとは関係ありません。私はDoctrineを使っていると思いますが、そうですか?さて、あなたがしなければならないすべてはCommentAuthorオブジェクトを作成することです:

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

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

$comment->save(); 

Doctrineがデータベースに永続化されていないので、両方のオブジェクトが挿入される2つのブランドの新しいオブジェクトを使用していることを認識すべきです。

+0

恋人のためのsymfonyこれを処理するための表モデルクラス。 –

+0

はいDoctrineを使用しています。最初に「Crozin」が既にテーブルに入っていないことを確認するにはどうすればよいですか?ありがとう。 – whamsicore

+0

@Yzmir Ramirez:実際にDoctrine1.2はあなたが考えることができるほど良くはありません。 @whamsicore:まあ、あなたはデータベースに 'Crozin'の出現を数えなければなりません。 (http://www.doctrine-project.org/projects/orm/1.2/docs/manual/data-hydrators/en#core-hydration-methods:single-scalar)[ここでそれを行う方法の例です] – Crozin

関連する問題