laravel function で重複した SQL 呼び出しを防ぐ once helper を使う
laravel function 内で同じ処理が複数の箇所から使われる場合、SQL が何度も呼び出されるのを防ぎたいことがある。 <https://laravel news.com/once helper <https://laravel.com/docs/11.x/helpers method once このとき使え
GGAMI
laravel function 内で同じ処理が複数の箇所から使われる場合、SQL が何度も呼び出されるのを防ぎたいことがある。
https://laravel-news.com/once-helper https://laravel.com/docs/11.x/helpers#method-once
このとき使える helper が once ヘルパー関数だ。 思ったより良い。
public static function getExchangeNames(Exchange $exchange): array
{
return once(function () use ($exchange) {
return self::where('exchange', $exchange)
->get()
->pluck('name')
->toArray();
});
}$exchange の値を変えて function を呼び出すと、SQL が適切に新しいクエリとして発行される。
思ったより便利だ。