Если вы хотите получить точный размер, вы можете попробовать
return DB::table('products')->where(['sizes', $size])->paginate(1);
используйте =
вместо Like
.
Для большего количества вариантов использования здесь приведены различные примеры.
WHERE sizes LIKE 'L%' //Finds any values that starts with "L"
WHERE sizes LIKE '%L' //Finds any values that ends with "L"
WHERE sizes LIKE '%or%' //Finds any values that have "or" in any position
WHERE sizes LIKE '_r%' //Finds any values that have "r" in the second position
WHERE sizes LIKE 'a_%_%' //Finds any values that starts with "a" and are at least 3 characters in length
WHERE sizes LIKE 'a%o' //Finds any values that starts with "a" and ends with "o"
В вашем коде также есть опечатка
Изменить это
return DB::table('products')->where([['sizes', 'LIKE', "%".$size."%"]])->paginate(1);
К этому
return DB::table('products')->where('sizes', 'LIKE', "%".$size."%")->paginate(1);
Надеюсь, это поможет.