型: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
1 回答
慕田峪4524236
TA贡献1875条经验 获得超5个赞
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
]);
- 1 回答
- 0 关注
- 85 浏览
添加回答
举报
0/150
提交
取消