2017-05-20 17 views
0

一致条件の最後のレコードを更新したいと思います。コード内に複数の結果が表示されています。ここ単一クエリで一致条件の最後のレコードを更新

$u = user_payments::where('id', $id)->where('staff_id', $staffId)->orderBy('id','desc')->first(); 
$up = user_payments::where('id', $u->id)->update(['transaction_id' => $transaction_id]); 

私はこれをどのように行うことができます...それは私は、クエリを最適化したいと、私は上記のようにしようとしますが、私は単一のクエリでそれをしたいDBを2回呼び出すように、2つの回を照会する必要がありますか?ありがとう。

答えて

0

これは、必要な操作を行う必要があります。最終的にデータベース上で実行される更新スクリプトは1つだけです。

$result = user_payments::where('id', $id) 
    ->where('staff_id', $staffId) 
    ->orderBy('id','desc') 
    ->take(1) 
    ->update(['transaction_id' => $transaction_id]); 
関連する問題