“错误”;“从空值创建默认对象”;使用一对一数据库更新Laravel
我有一对一的数据库。这是另一张桌子上的Telepon。因此,每个“siswa”都有一个“telepon”(电话号码)。Telepon的“有时”类型不是“必需”。它可以是空白的。 但是,如果它设置为空,则在更新时会出现错误“从空值创建默认对象” Telepon模型中的代码:“错误”;“从空值创建默认对象”;使用一对一数据库更新Laravel,laravel,laravel-5.2,Laravel,Laravel 5.2,我有一对一的数据库。这是另一张桌子上的Telepon。因此,每个“siswa”都有一个“telepon”(电话号码)。Telepon的“有时”类型不是“必需”。它可以是空白的。 但是,如果它设置为空,则在更新时会出现错误“从空值创建默认对象” Telepon模型中的代码: class Telepon extends Model { protected $table = 'telepon'; protected $primaryKey = 'id_siswa';
class Telepon extends Model
{
protected $table = 'telepon';
protected $primaryKey = 'id_siswa';
protected $fillable = [
'id_siswa',
'nomor_telepon',
];
public function siswa() {
return $this->belongsTo('App\Siswa', 'id_siswa');
}
Telepon的Siswa模型中的代码:
public function telepon() {
return $this->hasOne('App\Telepon', 'id_siswa');
}
要更新的控制器中的此文件:
public function update(Siswa $siswa, SiswaRequest $request){
$input = $request->all();
$siswa->update($input);
$telepon = $siswa->telepon;
$telepon->nomor_telepon = $request->input('nomor_telepon');
$siswa->telepon()->save($telepon);
$siswa->hobi()->sync($request->input('hobi_siswa'));
return redirect('siswa');
}
使用null coalesce运算符
??
检查null或创建新的模型实例:
$telepon = $siswa->telepon ?? new Telepon();