Umar745
Umar745

Reputation: 346

How to return view in controller?

I need to pull in data to my view but this doesn't work:

return view ('sub-domain', ['worker' => $worker ]);

Here is my code:

public function aerospace(Request $request , Worker $worker ){

 $worker = $worker->newQuery();
if ($request->has('profession')) {
    $worker->where('profession', $request->input('profession'));
}

if ($request->has('state')) {
    $worker->where('state', $request->input('state'));
}

if ($request->has('local_govt')) {
    $worker->where('local_govt', $request->input('local_govt'));
}


return $worker->get();

The above code brings out an array of data from the database which I can then filter with "domain/sub-domain?state=xyz"

Now when I try to pass in the data into my views using

return view ('sub-domain', ['worker' => $worker ]);

The page is loaded but no $worker data is loaded on the page. How can I pull the data? Here is my view file

<div class="row"> 
    <form method="GET" action="">  
      Profession:<input type="text" name="profession">  State:<input type="text" name="state">  Local Govt:<input type="text" name="local_govt">
      <button type="submit">Filter</button> 
    </form> 
  </div>
    <div class="row">
      @foreach ($worker as $worker)
      <div class="col-lg-3 col-md-6">
        <div class="member">
          <div class="pic"><img src="avatar/{{$worker->avatar}}" alt=""></div>
          <div class="details">
            <h4>{{$worker->name}} {{$worker->l_name}}</h4>
            <span>{{$worker->profession}}</span><br>{{ $worker->state }}
          </div>
        </div>
      </div> @endforeach
    </div>

I want to filter data by certain parameters, if there's a better way to do that please do let me know. But first I need the data to display.

Upvotes: 0

Views: 689

Answers (1)

parker_codes
parker_codes

Reputation: 3397

You are returning a query instance, not a collection or singular model. That's why the get() method works. So first do:

$worker = $worker->get();

Upvotes: 1

Related Questions