首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用一对一数据库“从空值创建默认值”Laravel更新错误

使用一对一数据库“从空值创建默认值”Laravel更新错误
EN

Stack Overflow用户
提问于 2018-07-09 02:48:33
回答 1查看 179关注 0票数 2

我有一对一的数据库。是在不同桌子上的Telepon。因此,每个“信号”都有一个“电话号码”(电话号码)。Telepon有“有时”类型“不需要”。可以是空白的。但是,如果设置为空,则在我进行更新时会出现“从空值创建默认对象”错误。

远程通信模型中的代码:

代码语言:javascript
复制
    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模型代码:

代码语言:javascript
复制
public function telepon() {
    return $this->hasOne('App\Telepon', 'id_siswa');
}

在主计长中进行更新:

代码语言:javascript
复制
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');
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-09 04:17:37

使用空合并操作符??检查null或创建一个新的模型实例:

代码语言:javascript
复制
$telepon = $siswa->telepon ?? new Telepon();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51237670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档