where('enterprise_id', $enterprise)->value('balance_cents') ?? 0); } public static function locked(int $enterprise): MiniEnterpriseBalance { $balance = MiniEnterpriseBalance::query()->where('enterprise_id', $enterprise)->lockForUpdate()->first(); if ($balance) { return $balance; } MiniEnterpriseBalance::query()->insert([ 'enterprise_id' => $enterprise, 'balance_cents' => 0, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s'), ]); return MiniEnterpriseBalance::query()->where('enterprise_id', $enterprise)->lockForUpdate()->firstOrFail(); } }