laravel - 如果 id 为 null,如何在关系上运行 updateOrCreate

标签 laravel eloquent

我有这个代码:

$model->relation->updateOrCreate(['id' => $request->id], $dataArray);

我收到以下错误:

Call to a member function updateOrCreate() on null

看来我不能让 idnull 这在我的情况下可能会发生,我可以发送 null。

我希望 updateOrCreate() 能够处理这种情况。如果 idnull 则创建新记录,否则只更新。

如何在不出现此错误的情况下更新或创建可能不存在的关系?

最佳答案

嘿 :) 只需执行关系即可获得实际的 Eloquent 模型,如下所示

注意:代替 $model->relation->$model->relation()->

$model->relation()->updateOrCreate(['id' => $request->id], $dataArray);

关于laravel - 如果 id 为 null,如何在关系上运行 updateOrCreate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52926329/

相关文章:

php - Laravel 8 图像不显示

laravel - 在laravel的JWT Auth中通过用户ID登录用户

php - OrderBy 在应用 GroupBy Laravel 时不起作用

Laravel 方法同步不存在

Laravel 6 护照返回 400 错误凭证的错误请求

php - 带有数据透视表的人类可读时间戳 Laravel 4

database - 基于过滤参数的时间多重方法过滤

laravel - toArray() 中缺少延迟加载关系

eloquent - Laravel eloquent 使用 with() 方法连接多个表并搜索数据

php - Laravel 5.5,获取下一个/上一个 Eloquent 模型,按字母顺序排序 ‘slugs’