【问题标题】:In Propel, can I select fields to return after save()在 Propel 中,我可以在 save() 之后选择要返回的字段吗
【发布时间】:2011-02-06 21:12:15
【问题描述】:

我创建一个新的评论对象并保存它

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

当我执行var_dump($comment) 时,我看到该对象有很多我不想传递给 MVC 架构中的视图的细节。这意味着我必须在视图中进行额外的过滤。

那么有没有办法在 save() 之后只选择我稍后想要传递给视图的字段?类似这段代码,所以 $comment 对象现在只有 text 字段

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

【问题讨论】:

  • 为什么不想将对象传递给视图?你怕喝醉了想换对象吗?
  • @Dan Grossman ObjectQuery::create() 让您执行 ->select() 以仅返回您想要的列。出于一致性和代码重用的原因,我正在尝试对我创建的新对象做同样的事情。

标签: php zend-framework orm propel


【解决方案1】:

我只是传递对象...但是如果您想在数组中包含列,您可以使用 toArray() 或 getByName() 方法。

在 ORM 对象中只包含一些列对我来说没有意义。

您的问题同时标记为 Doctrine 和 Propel - 此答案适用于 Propel。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-13
    • 2017-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    相关资源
    最近更新 更多