#laravel #laravel-nova
#laravel #laravel-nova
Вопрос:
Привет, я использую laravel nova для создания панели администратора. И я пытаюсь использовать поле даты.
Это моя миграция,
$table->date('day')->nullable();
Это мой ресурс my nova,
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'
];
Это моя ошибка,
Поле даты должно приводить к ‘date’ в модели Eloquent.
Нужно ли мне что-либо делать в resource?
Ответ №1:
В вашем классе модели вам просто нужно добавить следующие строки, которые описывают laravel, что вы должны преобразовать поле day в объект date (Carbon):
//Casts of the model dates
protected $casts = [
'day' => 'date'
];
Проверьте, здесь у кого-нибудь такая же проблема.
Редактировать:
Я видел, что для вашего day
столбца установлено значение nullable
я думаю, что вашему полю Nova должно понравиться в этом сообщении :
public function fields(Request $request)
{
return [
ID::make()->sortable(),
Date::make(__('Day'), 'day')->nullable(),
];
}
И нам нужно изменить модель следующим образом,
protected $casts = ['day' => 'date'];
Комментарии:
1. действительно жаль, что я это сделал, но все еще возникает проблема:'( и нужно ли мне добавлять углерод?
2. :'( все еще появляется:'(
3. можете ли вы также опубликовать модель? у вас нет других полей с датой?
4. Большое спасибо, братан, я нашел небольшую недостающую часть и добавил ее :). Я проголосовал и выбрал правильный ответ, было бы здорово, если бы вы могли одобрить редактирование 🙂
5. Нет проблем, братан 😉