laravel 雄辩地没有保存表格中的所有模型参数

型:


protected $table = 'citas_odontologicas';

protected $fillable = ['fecha','hora', 'procedimiento_id', 'paciente_id'];

迁移:


public function up()

{

    Schema::create('citas_odontologicas', function (Blueprint $table) {

        $table->bigIncrements('id');

        $table->timestamps();

        $table->string('fecha');

        $table->string('hora');

        $table->bigInteger('procedimiento_id')->unsigned();

        $table->foreign('procedimiento_id')->references('id')->on('procedimientos');

        $table->bigInteger('paciente_id')->unsigned();

        $table->foreign('paciente_id')->references('id')->on('pacientes');

    });

}

控制器:


public function agendarCita($fecha, $hora, $procedimiento, $paciente)

{

    $citaOdontologica = new CitaOdontologica($fecha, $hora, $procedimiento, $paciente);

    $citaOdontologica->save();

    dd($citaOdontologica);

}

错误:


Illuminate\Database\QueryException SQLSTATE[HY000]: 常规错误: 1364 字段 'fecha' 没有默认值 (SQL: 插入到 (, ) 值 (2020-01-25 20:01:22, 2020-01-25 20:01:22))citas_odontologicasupdated_atcreated_at


噜噜哒
浏览 86回答 1
1回答

慕田峪4524236

Laravel Model提供了用于创建对象的静态API。如果要使用表示法,则必须重写模型构造函数。请记住关系字段的后缀(如果您没有更改它)。new ClassName()_id但我建议使用和方法,像这样:Model::create()Model::make()$citaOdontologica = CitaOdontologica::make([  'fecha' => $fecha,   'hora' => $hora,   'procedimiento_id' => $procedimiento,   'paciente_id' => $paciente]);$citaOdontologica->save();甚至更简单:$citaOdontologica = CitaOdontologica::create([  'fecha' => $fecha,   'hora' => $hora,   'procedimiento_id' => $procedimiento,   'paciente_id' => $paciente]);
打开App,查看更多内容
随时随地看视频慕课网APP