Frage

Ich habe ein paar Antworten sowohl aus SO als auch aus den Laravel-Foren übernommen, um die Ergebnisse zusammenzustellen.Allerdings habe ich eine Undefined variable error und ich bin mir nicht sicher, warum.

Regler

public function getJobs()

        {
            $query = DB::table('jobs');

            if (isset($jcategory))
            $query->where('category', '=', $jcategory);

            $result = $query->get();
           return View::make('jobsearch.search', $result);
        }

Ansicht (wurde aus Platzgründen abgekürzt)

<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

Sobald dieser kleine Test funktioniert, werde ich den Rest hinzufügen isset in die $query.Was ich erreichen möchte, ist, dass die Ansicht alle Jobs in der Datenbank lädt und wenn der Benutzer (zum Beispiel) die Kategorie ändert und die Ansicht übermittelt, wird die Seite mit den in der Abfrage widergespiegelten Änderungen neu geladen.

Ich bekomme derzeit eine Undefined variable: result Fehler in der Ansicht.Ich habe es versucht foreach auf unterschiedliche Weise, aber ich habe das Gefühl, dass der Controller nichts durchlässt.

War es hilfreich?

Lösung

Du hast die bestanden $result Variable in die falsche Richtung.Versuche dies:

return View::make('jobsearch.search')->with('result', $result);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top