使用Laravel Eloquent更新数据库

时间:2017-05-15 20:12:51

标签: php laravel eloquent

我在更新数据库时遇到问题,使用一般的DB ::方法工作正常,但我认为使用Eloquent会更好。

我使用的一般数据库方法(有效):

\DB::table('subscriptions')->update(array('state' => 'active'));

我使用的Eloquent方法(并且它不起作用):

    $user = $request->user();
    $user-> subscription-> state = 'active';
    $user-> save();

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

\DB::table('subscriptions')->update(array('state' => 'active'));

当你这样做时,你正在更新每一行的状态。假设您有正确的关系设置,请执行以下操作之一。

$subscription = $request->user()->subscription;
$subscription->state = 'active';
$subscription->save();

$request->user()->subscription()->update(array('state' => 'active'));