我有这个控制器函数:
public function show($id)
{
$perfil = DB::select('SELECT * FROM tb_perfis WHERE id='.$id.';');
return view('perfis.show')->with('perfil', $perfil);
}
此视图:
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="panel panel-default">
<div class="panel-heading"></div>
<div class="panel-body">
{{$perfil->id}}
</div>
</div>
</div>
</div>
</div>
@endsection
然后我得到了错误:
"Trying to get property of non-object (View: /home/alexandre/Documents/PAP Hidroponia/pap/resources/views/perfis/show.blade.php)"
为什么会发生这种情况,在其他页面没有问题。
发布于 2018-07-02 10:50:17
您可以像这样实现查询
$perfil=DB::table('tb_perfis')->where('id','=',$id)->First();
发布于 2018-07-02 09:28:16
您的查询生成器末尾缺少->get()->first()
。
但是,它应该是这样的:
$perfil = DB::table('tb_perfis')->where('id', $id)->get()->first();
使用原始select语句时,您有责任防止SQL注入。
https://stackoverflow.com/questions/51127537
复制相似问题