SQLSTATE [42S22]:找不到列:1054我的代码中的未知列

时间:2019-06-03 08:38:44

标签: mysql laravel

我在代码中出现以下错误:

  

“ SQLSTATE [42S22]:找不到列:1054'字段列表'中的未知列'introducido'(SQL:插入carsintroducidomodelo,{{1 }},producido_enupdated_at)值(?,sdfsdf,?,2019-06-03 08:18:17,2019-06-03 08:18:17))

我不知道如何解决,我留下了代码:

CarController.php

created_at

索引刀片

?php

namespace App\Http\Controllers;

use App\Car;

use Illuminate\Http\Request;


class CarController extends Controller
{
    public function crear(Request $request){

        $introducido= $request['introducido'];

        $modelo=$request['modelo'];

        $producido_en=$request['producido_en'];

        $car=new Car();

        $car->introducido=$introducido;

        $car->modelo=$modelo;

        $car->producido_en=$producido_en;

        $car-> save ();

        return redirect ()->b ack();
    }


    public function mostrar(){

    }
}

3 个答案:

答案 0 :(得分:1)

  • 首先检查您的迁移。也许是因为错字或 像这样的东西。
  • 然后检查您的模型。您应该在$ fillable字段中添加“ introducido”。

答案 1 :(得分:0)

好像您在db中的cars表中没有“ introducido”列。

解决方案  -请检查汽车的迁移文件,并检查是否已成功迁移。  -如果仍然遇到问题,请检查在“汽车”模型的$ fillable中添加的“ introducido”列。

答案 2 :(得分:0)

您的汽车模型必须具有可填充的列

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Car extends Model
{
    protected $table = 'cars';

    public $timestamps = true;

    protected $fillable = ['introducido', 'modelo', 'producido_en'];
}

在控制器中:

use App\Car;

public function crear(Request $request){

        $post = $request->all();

        Car::create($post);

        return redirect()->back();
    }