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.
tivi_kemana_saja_laravel/app/Helper/DatabaseHelper.php

37 lines
1.2 KiB
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'; }
public static function compileDirtyEloquentToArrMessage($model) {
$dirties = $model->getDirty();
foreach($dirties as $key => $dirty) {
$dirties[$key] = $model->getOriginal($key) . ' => ' . $dirty;
}
return $dirties;
}
}
?>