문제
결과를 종합하기 위해 SO와 Laravel 포럼에서 몇 가지 답변을 얻었습니다.그러나 나는 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);
}
뷰(Space로 약칭함)
<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