Risultato indesiderato da DB: Raw
Domanda
Ho preso alcune risposte da entrambi e dai forum di Laravel di pezzi insieme ai risultati.Tuttavia, sto avendo un Undefined variable error
e non sono sicuro del perché.
Controller
public function getJobs()
{
$query = DB::table('jobs');
if (isset($jcategory))
$query->where('category', '=', $jcategory);
$result = $query->get();
return View::make('jobsearch.search', $result);
}
.
View (è stato abbreviato per lo spazio)
<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
.
Una volta ottenuto questo piccolo test funzionante aggiungerò il resto del isset
nel $query
.Quello che sto cercando di ottenere è che la vista caricherà tutti i lavori nel database e se l'utente cambia la categoria (ad esempio) e invia la vista che ricaricherà la pagina con le modifiche riflesse nella query.
Attualmente ricevo un errore Undefined variable: result
sulla vista.Ho provato il foreach
in modi diversi, ma ho una sensazione che il controller non stia passando nulla attraverso.
Soluzione
Hai passato la variabile $result
nel modo sbagliato.Prova questo:
return View::make('jobsearch.search')->with('result', $result);
.