如何在控制器中返回视图?

时间:2018-05-25 02:34:09

标签: laravel laravel-5 view controller laravel-5.5

我需要将数据提取到我的视图中,但这不起作用:

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

这是我的代码:

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();

上面的代码显示了数据库中的一组数据,然后我可以使用“domain / sub-domain?state = xyz”过滤

现在,当我尝试使用

将数据传入我的视图时
return view ('sub-domain', ['worker' => $worker ]);

页面已加载,但页面上未加载$ worker数据。我该如何提取数据?这是我的视图文件

<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>

我想通过某些参数过滤数据,如果有更好的方法,请告诉我。但首先我需要显示数据。

1 个答案:

答案 0 :(得分:1)

您正在返回查询实例,而不是集合或单一模型。这就是get()方法有效的原因。首先要做的是:

$worker = $worker->get();