[Laravel] リクエストされた複数の値をまとめて存在確認する

以前から可能だったようですが、公式ドキュメントが更新されたのでメモ。

When given an array, the has method will determine if all of the specified values are present:

if($request->has(['name','email'])) {
    //
}

また、引数として複数渡しも可能なようです。

if($request->has('name','email')) {
    //
}

Illuminate\Http\Concerns\InteractsWithInput@has

    ...
    /**
     * Determine if the request contains a non-empty value for an input item.
     *
     * @param  string|array  $key
     * @return bool
     */
    public function has($key)
    {
        $keys = is_array($key) ? $key : func_get_args();

        foreach ($keys as $value) {
            if ($this->isEmptyString($value)) {
                return false;
            }
        }

        return true;
    }
    ...
© Xzxzyzyz