您可以在第一个查询中添加whereIn的反转。
\DB::table('tablename') ->whereNotIn('id', $request->checked) ->where('val', '=', $id) ->update(['val' => 0]);