Используя Laravel Fluent, есть ли способ получить обновленную или вставленную строку?

Например, у меня есть следующий запрос, который обновляет новую строку:

$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();

Как я могу легко получить строку, которую я обновляю или вставляю?

1

Решение

Вы можете попробовать сначала использовать тот же экземпляр построителя запросов для обновления, а затем выполнить запрос select. (Вы не можете сделать это так, как вы пытались, потому что update() возвращает количество затронутых строк)

$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();
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]