質問
私はその結果をまとめるために、その結果の両方から数回の回答を採用しました。しかし、私はUndefined variable error
を持っています、そして私はなぜわからない。
コントローラ
public function getJobs()
{
$query = DB::table('jobs');
if (isset($jcategory))
$query->where('category', '=', $jcategory);
$result = $query->get();
return View::make('jobsearch.search', $result);
}
.
ビュー(スペースと省略されています)
<form action="{{ action('JobsearchController@getJobs') }}" method="post">
<div class="row">
<div class="large-8 columns">
<input type="text" name="realm" placeholder="Keywords/Skills" />
</div>
<div class="large-4 columns">
<select name="jcategory">
<option value="">Select Category</option>
<option value="jc1">Accounting</option>
.
...
</select>
</div>
<div class="large-4 columns">
<input type="submit" value="Search" style="width:100%; padding-top: .5rem;
padding-bottom: .5rem;" class="button border-btn" />
</div>
</div>
</form>
@foreach ($result as $job)
<p>{{ $job->id }}</p>
@endforeach
.
この小さなテストを取得したら、isset
の残りの部分を$query
に追加します。私が達成しようとしていることは、ビューがデータベース内のすべてのジョブをロードし、ユーザーがカテゴリを変更し(たとえば)ビューを送信し、それはクエリ内の反映の変更を持つページをリロードすることです。
現在、ビューにUndefined variable: result
エラーを取得します。私はさまざまな方法でforeach
を試しましたが、コントローラが何も通過していないと感じます。
解決
$result
変数を間違った方法に渡しました。これを試してください:
return View::make('jobsearch.search')->with('result', $result);
. 所属していません StackOverflow