私は入力配列を与える動的に生成されたフォームを持っています。配列が空の場合、foreachは失敗します。Laravelでリクエスト配列が空であるかどうかを調べる
これは明らかに$ requestオブジェクトであり、常に設定されているため動作しません。しかし、入力があるかどうかをチェックする方法はわかりません。
アイデア?
私は入力配列を与える動的に生成されたフォームを持っています。配列が空の場合、foreachは失敗します。Laravelでリクエスト配列が空であるかどうかを調べる
これは明らかに$ requestオブジェクトであり、常に設定されているため動作しません。しかし、入力があるかどうかをチェックする方法はわかりません。
アイデア?
App\Http\Controllers
ディレクトリのController
に機能を追加することで、いつでも私のインストールでこれを行います。
use Illuminate\Http\Request;
public function hasInput(Request $request)
{
if($request->has('_token')) {
return count($request->all()) > 1;
} else {
return count($request->all()) > 0;
}
}
むしろ自己説明、_token
の外の他の入力変数の場合にtrueを返し、又は全くtoken
および他の変数を含む場合trueを返します。
簡単なカウントチェックは、あなたが期待しているフォーム入力の参照を持っている場合は、Request::has()
を使用するには良い方法かもしれません
if (count($request->all())) {
// foreach here.
}
を行います。 Request::all()
にXSRFトークンのようなものが含まれている可能性があります。
要求クラスには、定義されたキー/キー以外のすべてを含むexcept()
メソッドがあります。したがって、要求配列に「何か」があるときにコードを実行します。
これらの内部if文を取り除き、代わりに 'return count($ request-> all())> 0;'または 'return count($ request-> all())を使用すると、 > 1; ' – Spholt
^他の人の必要はありません。最初のif文はtrueまたはfalseを返します。 –