嗨,我正在使用 laravel nova 创建管理面板。我正在尝试使用日期字段。
这是我的迁移
$table->date('day')->nullable();
这是我的新星资源
public function fields(Request $request)
{
return [
ID::make()->sortable(),
Date::make(__('Day'), 'day'),
];
}
这是我的模特
class Menu extends Model
{
use HasTranslations;
public $translatable = ['name','description'];
protected $fillable = [
'name','description','typology', 'cost', 'day', 'active', 'buffet'
];
这是我的错误,
日期字段必须在雄辩模型中转换为“日期”。
我需要在资源中做任何事情吗?
答案 0 :(得分:4)
在模型类中,您只需要添加以下几行来描述laravel,您必须将day字段转换为日期对象(碳):
//Casts of the model dates
protected $casts = [
'day' => 'date'
];
检查here有人遇到相同的问题。
编辑:
我已经看到您的day
列设置为nullable
,我认为您的Nova字段在此post中会很喜欢:
public function fields(Request $request)
{
return [
ID::make()->sortable(),
Date::make(__('Day'), 'day')->nullable(),
];
}
我们需要像这样更改模型,
protected $casts = ['day' => 'date'];