使用 Laravel Fluent 有没有办法检索更新或插入的行?

Using Laravel Fluent is there a way to retrieve an updated or inserted row?

例如,我有以下更新新行的查询:

$query->where('email', '=', $user->email)->where('card_uid', '=', $k)
    ->update( array('email' => $user->email, 'card_uid' => $k, 'have_quantity' => ($card->have_quantity+$v)) );

我想检索更新(或插入)的行。我尝试了以下但它不起作用:

$row = $query->where('email', '=', $user->email)->where('card_uid', '=', $k)
    ->update( array('email' => $user->email, 'card_uid' => $k, 'have_quantity' => ($card->have_quantity+$v)) )
    ->get();

如何轻松检索正在更新或插入的行?

您可以先尝试使用相同的查询生成器实例进行更新,然后 运行 select 查询。 (您不能按照您尝试的方式进行操作,因为 update() returns 受影响的行数)

$query->where('email', '=', $user->email)->where('card_uid', '=', $k);
$query->update(array('email' => $user->email, 'card_uid' => $k, 'have_quantity' => ($card->have_quantity+$v)))
$row = $query->get();