Unerwünschtes Ergebnis von db:raw
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.
Lösung
Du hast die bestanden $result
Variable in die falsche Richtung.Versuche dies:
return View::make('jobsearch.search')->with('result', $result);