我有一对一的数据库。是Telepon在另一个桌子上。因此,每个“ siswa”都有一个“ telepon”(电话号码)。 Telepon的“有时”类型不是“必需”。可以为空白。 但是,如果将其设置为空白,则在更新时会出现错误“从空值创建默认对象”。
Telepon模型中的代码:
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');
}
Siswa模型中用于Telepon的代码:
public function telepon() {
return $this->hasOne('App\Telepon', 'id_siswa');
}
在Controller中进行更新:
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');
}
答案 0 :(得分:1)
使用null合并运算符??
检查是否为null或创建新的模型实例:
$telepon = $siswa->telepon ?? new Telepon();