繁体   English   中英

问题违反完整性约束:1048列

[英]problem Integrity constraint violation: 1048 Column

SQLSTATE [23000]:违反完整性约束:1048列'patente'不能为空(SQL:插入carspatentemarcamodelocolorfecha_ingresoupdated_atcreated_at ))值(?,?,?,?,?, 2019-06-10 16:27:35,2019-06-10 16:27:35)

Route::match(['get', 'post'], '/crear',[
    'uses'=>'CarController@crear',
    'as'=>'cars.crear' 
]);

短代码形成

<div class="row">

        <div class="col-md-6"></div>

            <form action="{{route('cars.crear')}}" method="post">

               @csrf

               <div class="row form-group">

                    <div class="col-md-12">

                        <label for="true">Patente:</label>

                        <input type="text" name="patente" size="6" maxlength="6" class="form-control"  required>

                    </div>

                </div>

代码创建和显示

公共功能crear(Request $ request){

    $patente=$request['patente'];

    $marca=$request['marca'];

    $modelo=$request['modelo'];

    $color=$request['color'];

    $fecha_ingreso=$request['fecha_ingreso'];

    $car=new Car();

    $car->patente=$patente;

    $car->marca=$marca;

    $car->modelo=$modelo;

    $car->color=$color;

    $car->fecha_ingreso=$fecha_ingreso;

    $car->save();


    return redirect()->back();

}

public function show(){

    $cars=Car::all();

    return view ('lista',['cars'=>$cars]);

}

在存储数据之前先验证您的数据,

php artisan make:request ClearRequest

在App \\ Requests \\ ClearRequest中,

class ClearRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'patente'=>'required',
            'marca'=>'required',
            'modelo'=>'required',
            'color'=>'required',
            'fecha_ingreso'=>'required',
            'patente'=>'required',
            'marca'=>'required',
            'modelo'=>'required',
            'color'=>'required',
            'fecha_ingreso'=>'required'

        ];
    }
}

在您的控制器中

use App\Http\Requests\ClearRequest;

用你清楚的方法

public function crear(ClearRequest $request){
...
}

在您的视图文件中……

<form action="/clear" method="POST">
@csrf
  patente<br>
  <input type="text" name="patente">
  <br>
  marca<br>
  <input type="text" name="marca">
  <br>
  modelo<br>
  <input type="text" name="modelo">
  <br>
  fecha_ingreso<br>
  <input type="text" name="fecha_ingreso">
  <br>
  patente<br>
  <input type="text" name="patente">
  <br>

  modelo<br>
  <input type="text" name="modelo">
  <br>
  color<br>
  <input type="text" name="color">
  <br>
  fecha_ingreso<br>
  <input type="text" name="fecha_ingreso">
  <br>
  <input type="submit" value="Submit">
</form> 

如果这对您有帮助,您就支持我:)

CarController.php

public function crear(Request $request){
    request()->validate([
        'patente' => 'required',
        'marca' => 'required',
        'modelo' => 'required',
        'color' => 'required',
        'fecha_ingreso' => 'required',
        'patente' => 'required',
        'marca' => 'required',
        'modelo' => 'required',
        'color' => 'required',
        'fecha_ingreso' => 'required'
    ]);

    $car = Car::create([
        patente => $request->patente,
        marca => $request->marca,
        modelo => $request->modelo,
        color => $request->color,
        fecha_ingreso => $request->fecha_ingreso
    ]);

    return redirect()->back();
}

您的代码看起来不错,有点冗长,所以我整理了一下并添加了验证。 我能想到的唯一建议是确保您的Car模型已将字段添加到protected $fillable数组中。

您正在尝试将空值存储在NOT NULL列中。 确保您在请求中正确传递了patente

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM