始终修改laravel模型的返回值

时间:2016-07-05 02:12:37

标签: php laravel laravel-5

所以我有一个模型,Post没有在其中定义的方法。

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

use DB;

class Post extends Model
{

}

从控制器,我调用该模型,如:

return view('pages.post', ['post' => Post::where('url_route', '=', $url_route)->first()]

这很好用,但我现在想要在每次调用该模型时格式化从该请求返回的日期列。有没有办法在不定义新方法的情况下修改返回的数组?

我是Laravel的新手,感谢您的帮助。只是想在框架内找出最有效的做事方式......

1 个答案:

答案 0 :(得分:1)

如果您的模型$timestamps设置为true,则created_atupdated_at字段本身就是Carbon个实例。

这意味着您可以将视图中的日期格式设置为基本示例:

$post->updated_at->format('Y-m-d H:i:s')

Carbon个实例允许您利用其广泛的API,如http://carbon.nesbot.com所示

如果您希望对created_atupdated_at以外的其他字段执行相同的操作,则可以在模型中添加额外的属性:

protected $dates = ['added_on']

您在数组中指定的字段将被视为Carbon个实例。