簡體   English   中英

Laravel 8:SQLSTATE[22007]:無效的日期時間格式:1366 不正確的 integer 值

[英]Laravel 8: SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect integer value

我有這樣的遷移:

public function up()
    {
        Schema::create('movies', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('link');
            $table->integer('year');
            $table->string('actor');
            $table->string('director');
            $table->integer('imdb');
            $table->boolean('watched')->default(0);
            $table->integer('starred');
            $table->timestamps();
        });
    }

但是當我想將一些數據存儲到這個表中時,我得到了這個錯誤:

SQLSTATE [22007]:無效的日期時間格式:1366 不正確的 integer 值

這是我的store方法:

public function store(Request $request)
    {
        $new = new Movie();
        $new->name = $request->name;
        $new->link = $request->link;
        $new->year = $request->year;
        $new->actor = $request->actor;
        $new->director = $request->director;
        $new->imdb = $request->imdb;
        $new->starred = $request->starred;
        $new->watched = $request->watched;
        $new->save();
    }

我不知道這里出了什么問題,這向我顯示了這個錯誤......如果你知道,請告訴我。

提前致謝。

更新 #1: dd($request)的結果:

在此處輸入圖像描述

更新#2:完全錯誤:

Illuminate\Database\QueryException SQLSTATE[22007]:無效的日期時間格式:1366 不正確的 integer 值: bia2film列的“on”。 movies 在第 1 行watched (SQL:插入moviesnamelinkyearactordirectorimdbstarred標、 watched 、更新updated_at 、創建created_at )值(教父、asdsadsa、1232、白蘭度、科波拉、9、5、on、2021 -04-30 13:41:20, 2021-04-30 13:41:20))

從您的屏幕截圖您正在嘗試將字符串值存儲到 boolean 列

$table->boolean('watched')->default(0);

嘗試更改您的架構

        $table->boolean('watched')->default(0);
    to
    
         $table->enum('watched',['on','off'])->default('off');

或將 request 的值更改為Truefalse

我更喜歡Sencond方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM