Slide 7
Slide 7 text
Copyright© M&AΫϥυ 7
1. macroΛ༻ҙ͢Δ
͜ͷbootϝιουʹmacroΛఆ͍͖ٛͯ͠·͢ɻ
<
/**
* Bootstrap services.
*
* @return void
*/
public function boot()
{
Builder::macro('whereLike', function (string $attribute, string $keyword, int $position = 0) {
$keyword = addcslashes($keyword, '\_%');
$condition = [
1 => "{$keyword}%",
-1 => "%{$keyword}",
][$position] ?? "%{$keyword}%";
return $this->where($attribute, 'LIKE', $condition);
});
Builder::macro('orWhereLike', function (string $attribute, string $keyword, int $position = 0) {
$keyword = addcslashes($keyword, '\_%');
$condition = [
1 => "{$keyword}%",
-1 => "%{$keyword}",
][$position] ?? "%{$keyword}%";
return $this->orWhere($attribute, 'LIKE', $condition);
});
}