我想知道更新数据库记录的更好解决方案是什么 - addResources1
还是 addresources2
?
首先,我尝试了update
查询方法,因为它对我来说很清晰。其次,我正在构建模型,让我们使用它们,然后保存。
你觉得呢?
有几个类似的话题,但是它们说save()
只会插入一个新记录,在这种情况下不是真的。
资源服务:
namespace App\Services;
use App\Resource as Resource;
use Illuminate\Support\Facades\Auth;
class ResourcesService
{
public function addResources1($userId, $wood, $stone, $food, $gold)
{
$resources = new Resource;
$resources = $resources->where('userId', $userId)->update([
'wood' => $wood,
'stone' => $stone,
'food' => $food,
'gold' => $gold,
]);
}
public function addResources2($userId, $wood, $stone, $food, $gold)
{
$resources = new Resource;
$resources = $resources->where('userId', $userId)->first();
$resources->wood = $wood;
$resources->stone = $stone;
$resources->food = $food;
$resources->gold = $gold;
$resources->save();
}
}
资源模型:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Resource extends Model
{
protected $table = 'resources';
}