OK ...だから私はこのエラーをSOとGoogleで検索しましたが、私の奇妙な状況に関連しないすべての答えを見つけました。異なる "foreach()"引数に無効な引数が指定されました
地元の買い物リスト/価格確認アプリとして使用するための最初のLaravel 5.3アプリ(以前は5.2で動作)をインストールしました。フォームを作成しようとすると
:
ProductController:
$stores = Store::get();
return view('product.add', [
'stores' => $stores,
]);
add.blade:
これは、次のエラーが発生し<select name="store_id" id="store_id">
@foreach ($stores as $store)
<option value="{{ $store->id }}">{{ $store->name }} - {{ $store->address }}</option>
@endforeach
</select>
:
ErrorException in FormBuilder.php line 561:
Invalid argument supplied for foreach() (View: E:\wamp\www\shopping\resources\views\product\add.blade.php)
は私のデータベース内のすべてのストアを含むコレクションを生成するため、は空ではありません。
私はこのコードとdd
の結果を予想通りに動作する他のアプリと比較しましたが、まったく同じです。私も@forelse
を試しました。
これに影響するLaravel 5.3の変更点はありますか?私は何かが欠けていたか?
[FormBuilder](https://github.com/laravel/framework/tree/4.2/src/Illuminate/Html)のみがlaravel 4に見つかりました。プロジェクトをどのようにアップグレードしましたか?むしろ、ブレード全体と違反コード(FormBuilder 560〜565行)のスニペットを投稿することができます。 –
私はフォームにLaravelCollectiveを使用しています。これはFormbuilder.phpを提供します。 – Stretsh
あなたのご意見は正しい方向に私を指摘しています。行560の周りに、このファイルは 'foreach'文を含むselect入力を処理します。私は間違った声明を見ていました。私はLaravelCollectiveによって提供されたフォームファサードを使用して行われた別の 'select'入力を持っています。オプションとして' null'を使用しましたが、もちろんこのエラーを生成していました。これを指摘してくれてありがとう。多分私はそれを受け入れることができる答えとして? – Stretsh