Laravel由于关系而更新模型失败

时间:2018-11-29 08:58:26

标签: php laravel-5

我遇到了在Laravel中获取模型的情况。像这样:

$user = User::with('subscription')->where('id', '=', 123)->first();

如果我以后再尝试执行以下操作:

$user->firstname = 'John';
$user->save();

我收到一条SQL错误,因为它说没有名为“ subscription”的DB字段。保存时,该关系似乎被视为DB字段。那正确吗?我是说

unset($user->subscription)

保存之前?

如果存在关系,是否无法更新模型?保存之前是否必须将其删除?

3 个答案:

答案 0 :(得分:0)

尝试

创建新的用户对象

$user = new User;
$user->firstname = 'John';
$user->save();

答案 1 :(得分:0)

相同的代码对我有用。您正在使用哪个laravel版本?

    $psc = Subject::with('group')->where('group_id', 1)->first();

    $psc->group->name = 'PSC';
    $psc->group->save();
    dd($psc->group);

    $psc->name = 'Science';
    $psc->save();
    dd($psc->name);

答案 2 :(得分:0)

我发现了造成这种情况的原因。在我代码的先前位置,我试图更新这种关系。偶然我将订阅作为属性分配给我的用户对象。这不是Laravel问题。