1
我試圖用laravel來製作通知系統。我的想法是獲取數據並立即更新「is_delivered」標誌。Laravel - 如何更新整個集合
這是代碼:
Model:
public function scopeGetForView($query)
{
$query->orderBy('created_at','DESC');
$return = $query->get();
if($return->count() > 0) {
$query->update(array("is_delivered" => 1));
}
return $return;
}
Controller:
$notifications = Auth::user()->notifications()->limit(10)->offset(10)->getForView();
那麼,這將很好地工作,而不偏移更新時,因爲MySQL只做支持的限制(不偏移)。
但是,我怎樣才能更新整個集合沒有循環呢?隨着即時更新循環會導致許多查詢。我能想到的另一種方式是創建一個帶有ID的數組,並使用whereIn()更新它們。這是唯一的方法嗎?
不錯!沒有聽說過模型的凱斯方法。稍後再嘗試。謝謝! – sleepless
只適用於雄辯的收藏! – Scopey
完美地工作。再次感謝! :) – sleepless