Laravel 5.2 有条件地更新数据库
Laravel 5.2 Conditional Update to Database
如何根据不同列的值更新数据库列?
我有一个类似下面的查询,它提取当前使用量(示例:200):
$currentusage = CurrentPercentageModel::select('current_usage')->where('name', '=', 'User Name')->get();
我想在每次通过特定条件后更新相同的值+1。
我的 save
查询将如下所示,并使用新值(示例:201)向 table 添加新行:
$currentusage = $currentusage + 1;
$savecurrentusage = new CurrentPercentageModel;
$savecurrentusage->current_usage = $currentusage;
$savecurrentusage->save();
如何更新从查询中提取的相同值?
试试这个
$currentPercent = CurrentPercentageModel::where('name', '=', 'User Name')->first();
$currentusage = $currentPercent->currentusage + 1;
$currentPercent->current_usage = $currentusage;
$currentPercent->save();
有点乱,但应该可以用
$model = CurrentPercentageModel::where('name', '=', 'User Name')->first();
$model->current_usage += 1;
$model->save();
如果您只想将其中一个字段加 1,我想最简单的方法是使用 Query Builder's increment()
方法:
DB::table('current_percentage')->increment('current_usage');
如果你想使用Eloquent,你可以这样做:
$current = CurrentPercentageModel::where('name', '=', 'User Name')->first();
$current->update(['current_usage' => ++$current->current_usage]);
如何根据不同列的值更新数据库列?
我有一个类似下面的查询,它提取当前使用量(示例:200):
$currentusage = CurrentPercentageModel::select('current_usage')->where('name', '=', 'User Name')->get();
我想在每次通过特定条件后更新相同的值+1。
我的 save
查询将如下所示,并使用新值(示例:201)向 table 添加新行:
$currentusage = $currentusage + 1;
$savecurrentusage = new CurrentPercentageModel;
$savecurrentusage->current_usage = $currentusage;
$savecurrentusage->save();
如何更新从查询中提取的相同值?
试试这个
$currentPercent = CurrentPercentageModel::where('name', '=', 'User Name')->first();
$currentusage = $currentPercent->currentusage + 1;
$currentPercent->current_usage = $currentusage;
$currentPercent->save();
有点乱,但应该可以用
$model = CurrentPercentageModel::where('name', '=', 'User Name')->first();
$model->current_usage += 1;
$model->save();
如果您只想将其中一个字段加 1,我想最简单的方法是使用 Query Builder's increment()
方法:
DB::table('current_percentage')->increment('current_usage');
如果你想使用Eloquent,你可以这样做:
$current = CurrentPercentageModel::where('name', '=', 'User Name')->first();
$current->update(['current_usage' => ++$current->current_usage]);