2011-02-06 12 views
1

保存()の後に戻って、私はvar_dump($comment)を行うと、私はオブジェクトがその詳細をたくさん持っていることがわかり、それ、私は新しいコメントオブジェクトを作成

$comment = new Comment(); 
$comment->setText('this is a comment'); 
$comment->setIp($ip); 
$comment->save(); 

保存するためのフィールドを選択することができますI MVCアーキテクチャのビューに渡したくありません。これは、ビューで追加のフィルタリングを行う必要があることを意味します。

save()の直後に、後でビューに渡すフィールドだけを選択する方法はありますか?このようなコード、$コメントオブジェクトは今だけtextフィールドを持つように

$comment->save(); 
$comment->select(array('text')); 
+0

なぜオブジェクトをビューに渡したくないのですか?あなたはあなたがオブジェクトを変更しようとするほど酔ってしまうのではないかと心配していますか? –

+0

@Dan Grossman 'ObjectQuery :: create()'は、あなたが望む列だけを返すために ' - > select()'を実行させます。私は一貫性とコードの再利用の理由から作成した新しいオブジェクトに対して同じことをしようとしています。 – zmol

答えて

3

私はちょうどオブジェクトを渡すと思います...しかし、あなたは、アレイ内の列を持たせたい場合は、(のtoArrayを使用できます)またはgetByName()メソッドを使用します。

ORMオブジェクト内にいくつかの列しか持たないことは私には意味がありません。

あなたの質問はDoctrineとPropelの両方にタグ付けされています。この回答はPropel向けです。

関連する問題