Вопрос

Я взял несколько ответов с форумов 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);
        }

Просмотр (сокращенно от «пространство»)

<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);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top