我尝试使用 $casts 更改模型中的日期格式:
protected $casts = [
'created_at' => 'datetime:Y-m-d H:i',
'updated_at' => 'datetime:Y-m-d H:i'
];
当我使用 Eloquent 检索数据时它起作用:
$clients = Client::all();
return $clients;
但它不适用于查询生成器!
$clients = DB::table('clients')->get();
return $clients;
最佳答案
在查询生成器中,您使用的是 DB::table,它不使用 Laravel 模型,并且您正在将此转换代码写入 Laravel 模型。显然它永远不会起作用。它们是苹果和橙子。
如果您使用强制转换代码,Laravel 仅在获取模型并使用此字段时运行此代码。在此之前它不会更改值。
你想在那里实现什么目标?如果您给我们更详细的代码,我会帮助您。
关于laravel - "Casting"功能 ($casts) 仅在 Laravel 中使用 Eloquent 时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71301744/