Laravel变量未通过

时间:2017-09-16 17:39:09

标签: php laravel

我是一个绝对的初学者,我正在尝试在Laravel中做一个CRUD,但是我无法弄清楚为什么我的变量没有传递给视图,所以我可以动态显示它们桌子。

我的“路线”工作正常。

然后我的控制器

     public function getHome()
     {

     $results = Crud::index();
     return view('pages/home', ['results' => $results]);

     }

调用我的“Crud”模型

class Crud extends Model
{
     public static function index()
     {

        return $results = DB::table('data')
                         ->whereNotNull('id')
                          ->get();
     }
}

转到我在控制器中看到的视图

@extends('main')

@section('title', '| Home')

@section('content')

 <div class="container">

     @include ('partials/_jumbotron')

     <table class="table table-inverse">
   <thead>
    <tr>
      <th>#</th>
      <th>First Name</th>
      <th>Last Name</th>
      <th>Username</th>
    </tr>
 </thead>
 <tbody>


 @if(!empty($results))

  @foreach($results as $result)

  <tr>
    <td scope="row">$result->$id</th>
    <td>$result->$first_name</td>
    <td>$result->$last_name</td>
    <td>$result->$username</td>
  </tr>

@endforeach

 @endif

</tbody>
</table>
</div>

 @endsection

先谢谢你的帮助......我正在失去理智 抱歉,如果我不够具体......

Edit1:我按照你说的做了,但我还没有输出数据到我的桌子上?在声明的代码中是否还有其他错误,或者错误在某个地方更深?

Edit2:感谢大家指出的错误 - 刀片{{}}和对象属性 $ object-&gt; propertie not $ object-&gt; $ propertie

当我修复那些明显否定输出的错误时,我记得我有一个空数据库。案例已关闭 - 谢谢大家的帮助

3 个答案:

答案 0 :(得分:1)

您不打印变量。你正在打印文字。

如果要在刀片文件中打印变量(echo),则需要wrap them in curly brackets。当您想要显示对象属性时,也没有$。像那样:

@foreach($results as $result)

<tr>
    <td scope="row">{{ $result->id }}</th>
    <td>{{ $result->first_name }}</td>
    <td>{{ $result->last_name }}</td>
    <td>{{ $result->username }}</td>
</tr>

@endforeach

答案 1 :(得分:0)

我也是初学者,我想也许你可能也想试试这个

public function getHome()
{
     $results = Crud::index();
     return view('pages/home', compact('results'));
}

但在此之前,请确保您的代码是否实际使用

从数据库返回数据
dd($results)

答案 2 :(得分:-1)

首先,清洁工将使用带有功能的laravel ,例如

return view('pages/home')->with('results', $results);

接下来你试着得到$ result-&gt; $ first_name它确实工作因为first_name不是变量,laravel返回对象所以你可以得到first_name那样:

{{$result->first_name}}