You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
896 B
PHP
29 lines
896 B
PHP
<?php
|
|
namespace App\Helper;
|
|
|
|
use Illuminate\Validation\Rule;
|
|
|
|
class DatabaseHelper {
|
|
public static function str2SearchPatern($str) {
|
|
return '%'.preg_replace('!\s+!', '%', trim($str ?? '')).'%';
|
|
}
|
|
|
|
public static function trimNull($str) {
|
|
if(empty($str)) return null;
|
|
$str = trim($str);
|
|
return $str ? $str : null;
|
|
}
|
|
public static function trimUpperNull($str) {
|
|
$str = self::trimNull($str);
|
|
return $str ? strtoupper($str) : null;
|
|
}
|
|
|
|
public static function getOrderBysValidations($key = 'orderBys') {
|
|
return [
|
|
$key => 'nullable|array',
|
|
"$key.*" => ['nullable', 'string', Rule::in(['asc', 'desc'])],
|
|
];
|
|
}
|
|
public static function getSearchValidation() { return 'nullable|string'; }
|
|
}
|
|
?>
|