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.

È stato utile?

Soluzione

Hai passato la variabile $result nel modo sbagliato.Prova questo:

return View::make('jobsearch.search')->with('result', $result);
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top