2017-10-25 14 views
2

に行IDを取得し、私は最適化しようとしている下記の私はそれを最適化してきたが、私は、私は、各行中のバッチ更新のためのIDを取得する必要がありますかわからないforeachループバッチ更新

foreach($idsNoLongerInResponse as $offerId) { 
    $offerId = $offerId->id; 

    $offer = Offer::find($offerId); 
    $offer->notes = "updated offer [offer_id=$offer->id]"; 

    $offer->save(); 
} 

を述べました。

Offer::whereIn('id', $idsNoLongerInResponse)->update([ 
    'some_updates' => 1, 

    // How can I get the row id here? 
    'notes' => "updated offer [offer_id=$offer->id]" 
]); 

私は間違った方向に行っていますか?どんな助けもありがとう。可能であれば、ラヴェルの雄弁と未処理クエリー形式でソリューションを提供してください。

答えて

1

あなたはアップデートでDB ::生を使用することができます

...->update(array(
    'column' => DB::raw('column * 2') 
)); 

チェック議論here

だから、あなたの例以下は、私はあなたが

Offer::whereIn('id', $idsNoLongerInResponse)->update([ 
    'some_updates' => 1, 

    // How can I get the row id here? 
    'notes' => DB::raw('CONCAT(CONCAT("updated offer [offer_id=", bot_offer_id), "]")') 
]); 
+0

作品のように、このソリューションを試すことができると思います魅力。どうもありがとう。 – Suraj

関連する問題