【问题标题】:Field 'date' doesn't have a default value while getting date value获取日期值时,字段“日期”没有默认值
【发布时间】:2020-09-01 20:31:26
【问题描述】:

我目前正在尝试从 HTML 中获取生日的“日期”值。
但我收到此错误:SQLSTATE[HY000]: General error: 1364 Field 'date' doesn't have a default value

此错误是否与日期格式有关?我的系统使用 'dd-mm-yyyy' 格式,但 Laravel 使用 'yyyy-mm-dd' 格式。是不是这个原因?

控制器

public function store(StorePersonRequest $request)
    {
        $person = new Person;

        $person->name = $request->get('person_name');
        $person->surname = $request->get('person_surname');
        $person->name = $request->get('person_date');

        $person->save();
        return redirect('/');
    }

HTML

<input class="form-control" type="date" name="person_date" required autofocus>

迁移

$table->date('date');

我已经添加了protected $dates = ['date'];,但并没有解决问题。

【问题讨论】:

  • 不是 $person->date = $request->get('person_date');
  • 我是最笨的人。顺便谢谢你。
  • 你也可以使用 Carbon::createFromFormat('input_date_format', 'input_value')->toDateString();

标签: php laravel


【解决方案1】:

改变这一行:

$person->name = $request->get('person_date');

到这里:

$person->date= $request->get('person_date');

【讨论】:

    猜你喜欢
    • 2016-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多