首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >正在尝试获取非对象的属性({{$perfil>id}})-出现错误

正在尝试获取非对象的属性({{$perfil>id}})-出现错误
EN

Stack Overflow用户
提问于 2018-07-02 06:51:50
回答 2查看 57关注 0票数 0

我有这个控制器函数:

代码语言:javascript
复制
public function show($id)
{
    $perfil = DB::select('SELECT * FROM tb_perfis WHERE id='.$id.';');
    return view('perfis.show')->with('perfil', $perfil);
}

此视图:

代码语言:javascript
复制
@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

然后我得到了错误:

代码语言:javascript
复制
"Trying to get property of non-object (View: /home/alexandre/Documents/PAP Hidroponia/pap/resources/views/perfis/show.blade.php)"

为什么会发生这种情况,在其他页面没有问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-02 10:50:17

您可以像这样实现查询

代码语言:javascript
复制
$perfil=DB::table('tb_perfis')->where('id','=',$id)->First();
票数 1
EN

Stack Overflow用户

发布于 2018-07-02 09:28:16

您的查询生成器末尾缺少->get()->first()

但是,它应该是这样的:

代码语言:javascript
复制
$perfil = DB::table('tb_perfis')->where('id', $id)->get()->first();

使用原始select语句时,您有责任防止SQL注入。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51127537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档