在Eloquent ORM中向模型添加字段

时间:2013-05-12 16:11:25

标签: php laravel laravel-4 eloquent

我在项目中使用Eloquent,基本上我有一个作者模型,有姓名,电子邮件等。

我有$author->created_at,$author->name,

我想要的是,对象中的更多字段始终存在,例如:$author->created_at_formatted,基本上是日期(格式,created_at)

关于如何在课堂上做到这一点的任何想法或提示? 感谢。

3 个答案:

答案 0 :(得分:1)

模型本身不应该对像视图之类的东西“漂亮”的数据负责。许多人会选择在控制器甚至视图中执行此操作。我建议您查看“演示者”以及它们如何用于转换和操作视图数据。

Laravel 4有existing presenter packages可以立即开始使用(我建议您这样做)。

答案 1 :(得分:0)

我不知道是否有办法创建自己自动填充的列,但如果只需要“created_at_formatted”列,则只需将以下内容添加到模型中即可更改created_at的格式和updated_at列:

public function freshTimestamp()
{
    // Your custom timestamp format
    return date("Y-m-d H:i:s");
}

答案 2 :(得分:0)

你需要了解雄辩如何运作以及它的主要目的是什么。

它只是一种通过对象轻松与数据库表交互的方式(它是一个对象关系映射器,即它将关系数据库表映射到对象)

如果您希望它有另一个字段,则必须将该字段添加到数据库表中。

但是,如果其他字段是ANOTHER表的一部分,则可以使用join()查询方法。将添加两个表中的字段。如果由于某种原因您无法修改作者表,您可以创建另一个包含所需字段的表,然后进行连接。

如果您想要更多帮助进行加入,请告诉我,我将在此处添加代码。