function convertToRoman(num) {
var roNumerals = {
M: Math.floor(num / 1000),
CM: Math.floor(num % 1000 / 900),
D: Math.floor(num % 1000 % 900 / 500),
CD: Math.floor(num % 1000 % 900 % 500 / 400),
C: Math.floor(num % 1000 % 900 % 500 % 400 / 100),
XC: Math.floor(num % 1000 % 900 % 500 % 400 % 100 / 90),
L: Math.floor(num % 1000 % 900 % 500 % 400 % 100 % 90 / 50),
XL: Math.floor(num % 1000 % 900 % 500 % 400 % 100 % 90 % 50 / 40),
X: Math.floor(num % 1000 % 900 % 500 % 400 % 100 % 90 % 50 % 40 / 10),
IX: Math.floor(num % 1000 % 900 % 500 % 400 % 100 % 90 % 50 % 40 % 10 / 9),
V: Math.floor(num % 1000 % 900 % 500 % 400 % 100 % 90 % 50 % 40 % 10 % 9 / 5),
IV: Math.floor(num % 1000 % 900 % 500 % 400 % 100 % 90 % 50 % 40 % 10 % 9 % 5 / 4),
I: Math.floor(num % 1000 % 900 % 500 % 400 % 100 % 90 % 50 % 40 % 10 % 9 % 5 % 4 / 1)
};
var roNuStr = "";
for (var prop in roNumerals) {
for (i = 0; i < roNumerals[prop]; i++) {
roNuStr += prop;
}
}
return roNuStr;
}
convertToRoman(9);
Я не знаю, как поиск работает автоматически, но я кодировал для моего требования, и это работает нормально и дать некоторое представление, как вы можете это сделать.
Вы можете получить поисковый запрос, используя $request->get('search')['value']
, а теперь написать код, чтобы проверить, удовлетворяется ли ваше условие, и отфильтровать результаты в вашем контроллере или модели. Ниже приведен код для этого в Контроллере.
return DataTables::eloquent($videos)
->filter(function ($query) use ($request) {
if ($request->has('category') && ! is_null($request->get('category'))) {
$query->where('video_category', $request->get('category'));
}
if ($request->has('language') && ! is_null($request->get('language')) ) {
$query->where('video_language', $request->get('language'));
}
if ($request->has('search') && ! is_null($request->get('search')['value']) ) {
$regex = $request->get('search')['value'];
return $query->where('your_field', 'like', '%' . $regex . '%');
});
}
})->toJson();