Résultat indésirable de db: raw
Question
J'ai pris quelques réponses des forums SO et Laravel pour rassembler les résultats.Cependant, j'ai un Undefined variable error
et je ne sais pas pourquoi.
Manette
public function getJobs()
{
$query = DB::table('jobs');
if (isset($jcategory))
$query->where('category', '=', $jcategory);
$result = $query->get();
return View::make('jobsearch.search', $result);
}
Vue (a été abrégé pour l'espace)
<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
Une fois que ce petit test aura fonctionné, j'ajouterai le reste du isset
dans le $query
.Ce que j'essaie de réaliser, c'est que la vue chargera tous les travaux de la base de données et si l'utilisateur modifie la catégorie (par exemple) et soumet la vue, il rechargera la page avec les modifications reflétées dans la requête.
Je reçois actuellement un Undefined variable: result
erreur sur la vue.j'ai essayé le foreach
de différentes manières mais j'ai l'impression que le contrôleur ne transmet rien.
La solution
Vous avez réussi le $result
variable dans le mauvais sens.Essaye ça:
return View::make('jobsearch.search')->with('result', $result);