数据未传递给视图

时间:2017-10-31 07:02:01

标签: php laravel

我正在尝试将我的数据传递给我的home.blade.php,但我一直收到一个名为" Use of undefined constant data1 - assumed 'data1'"的错误我已经仔细检查了我的代码,但仍然不知道该怎么做,我的名字似乎能够在视图中显示出来,但不能显示在雇用状态中。有人可以帮助我,非常感谢

Home.blade.php

    <table class="table table-bordered">
      <tr>
        <th><strong><big>Name: </big></strong></th>     
        <th><strong><big>Hire Status: </big></strong></th>  
      </tr>
      <td>
      <tr>
        @foreach($data as $value)
      <tr>    
      <th><a href="{{route('user.show',['id'=>$value->id])}}">{{$value->Name}}</a></th>
    <th> 
      @foreach(data1 as $value1)
      {{$value1->hire_status}}  
   </th>            
      </tr>
      @endforeach
         @endforeach
      </tr>
      </tr>
    </table>

HireController:

public function hire_view(){
    $data1['data1'] = DB::table('hires')->where('hire_status',Yes)->get();

    if($data1 = "Yes"){
        return view('home')->with(compact('data1'));
    }else{
        return view('home')
    }
}

HomeController中:

    public function getData(){
        $data['data'] = DB::table('personal_infos')->where('deleted_at',NULL)->get()->sortByDesc('created_at');

        if(count($data)>0){
        return view('home',$data);
    }else{
    return view('home');
}

4 个答案:

答案 0 :(得分:2)

您可以通过两种方式在视图文件中传递数据,例如,第一个是

$data1 = DB::table('hires')->where('hire_status',Yes)->get();
return view('home',compact('data1'));

,或者

$data1 = DB::table('hires')->where('hire_status',Yes)->get();
return view('home')->with('data1',$data1);

你忘了这里的$ sign,

@foreach(data1 as $value1) // "$" sign before data array variable.

我希望它有所帮助。

答案 1 :(得分:1)

尝试更改

@foreach(data1 as $value1)

在home.blade.php中

@foreach($data1 as $value1)

你只是忘记那里的$,所以代码对待&#34; data1&#34;作为常数而不是变量

答案 2 :(得分:0)

在这段代码的第4行

  if($data1 = "Yes"){
            return view('home')->with(compact('data1'));
  } else {
            return view('home')   
  }

如果data1不是“是”,则不将data1变量传递给视图,然后视图无法访问它。

天啊,我刚才意识到你在比较中使用的是“=”而不是“==”。

答案 3 :(得分:0)

if($data1 = "Yes"){
    return view('home',$data);
}else{
    return view('home')
}