我是一个绝对的初学者,我正在尝试在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
当我修复那些明显否定输出的错误时,我记得我有一个空数据库。案例已关闭 - 谢谢大家的帮助
答案 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}}