【发布时间】:2022-01-11 20:32:36
【问题描述】:
我正在尝试使用 update 方法将 null 插入到我的 kisi_id 表中,但我收到了这样的错误
SQLSTATE[HY000]:一般错误:1366 不正确的整数值:列的“Null”。
当我更改 value=0 时出现类似错误
SQLSTATE[23000]:违反完整性约束:1452 无法添加或更新子行。
Kisiler 迁移
public function up()
{
Schema::create('kisilers', function (Blueprint $table) {
$table->id();
$table->string ('ad_soyad',100);
$table->enum('kadro',['İdari','Anaokulu','İlköğretim','Lise','Destek','Yönetim']);
$table->string ('birim_zumre');
$table->timestamps();
});
}
Envanter 迁移
public function up()
{
Schema::create('envanters', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('kisi_id')->default(null)->nullable();
$table->string('urun_cesidi');
$table->string('urun_marka');
$table->string('urun_model');
$table->string('urun_ozellik')->nullable();
$table->string('seri_no')->nullable();
$table->enum('okul',['İdari','Lise','İlköğretim','Anaokulu','Yönetim','Destek']);
$table->timestamps();
$table->foreign('kisi_id')->nullable()->references('id')->on('kisilers')->onDelete('set null');
});
}
资源控制器
public function update(ZimmetUpdateRequest $request, $id)
{
$envanter =Envanter::find($id) ?? abort(404,'Ürün Bulunamadı');
Envanter::where('id',$id)->update($request->except(['urun_cesidi','urun_marka','urun_model','urun_ozellik','seri_no','_method','_token']));
return redirect()->route('envanter.index',$id)->withSuccess('Zimmetten Çıkarma İşlemi Başarılı.');
}
Envanter 模型
use HasFactory;
protected $nullable;
protected $fillable=['urun_cesidi','urun_marka','urun_model','urun_ozellik','kisi_id','okul','seri_no'];
public function kisiler(){
return $this->belongsTo('App\Models\Kisiler','id');
}
Kisiler 模型
use HasFactory;
protected $fillable=['ad_soyad','kadro','birim_zumre'];
public function envanter(){
return $this->hasMany('App\Models\Envanter','kisi_id');
}
blade.php
<div class="m-1"><form method="POST" action="{{route('zimmetsil.update',$envantergoster->id)}}">
@csrf
@method('PUT')
<button class="btn btn-success" type="submit" name='kisi_id' value=0 >Unassigned</button></form>
</div>
【问题讨论】:
标签: php html laravel null nullable