Laravel ErrorException:试图获取 属性 的非对象

Laravel ErrorException: Trying to get property of non-object

我正在建立一个类似于 Elance 的就业市场。在工作详情页面中,还有提案表。用户可以填写表格并点击提交。 (参考;以前的 Elance 职位详情页面)

现在,如果用户想要编辑他们的提案数据,他们可以在他们的仪表板中点击该职位的编辑,然后他们将再次来到该职位的详细信息页面。但是这次,表格将预先填写数据。

这是工作详细信息方法和请求详细信息视图@includes apply(proposal) 表单。

public function requestdetail($reqid){
if ($user = Auth::User()) {
    $gigs = Gig::where('user_id','=',$user->id)->get();
}

    $request = UserRequest::with('request_desc','user.profile')
        ->findOrFail($reqid);

    $proposals = Proposal::with('user')
        ->where('request_id','=',$reqid)
        ->orderBy("proposals.created_at","desc")
        ->get();

    return view('user.frontend.public.requestdetail',
        compact('reqid','request','proposals','gigs','countProp'));
}

这是编辑提案方法:

public function edit($proposalid){
    $proposal = Proposal::where('id',$proposalid)->first();
    $reqid = $proposal->request_id;
    $gigid = $proposal->gig_id;

    if ($user = Auth::User()) {
        $gigs = Gig::where('user_id','=',$user->id)->get();
    }

    $request = UserRequest::with('request_desc','user.profile')
        ->findOrFail($reqid);

    $proposals = Proposal::with('user')
        ->where('request_id','=',$reqid)
        ->orderBy("proposals.created_at","desc")
        ->get();

    return view('user.frontend.public.requestdetail',       compact('proposal','reqid','gigid','gigs','countProp','request','proposals'));
}

这是提案表单中的一个字段:

<div class="row">
                    <div class="col-lg-12">
                        <label>Description</label>
                        <textarea id="description" value="{{ $gigid->desc }}" name="description" style="min-height:100px;" class="form-control" rows="5" required=""></textarea>
                    </div>
                </div>

当我查看职位详情页面时,出现错误:

ErrorException: Trying to get property of non-object

我相信,它与 $gigid 相关,但我该如何解决这个问题?我如何处理这里的创建和编辑部分?

查看您的代码:

$gigid = $proposal->gig_id;

$gigid 包含数字

所以在你看来:

$gigid->desc

会导致问题。所以可能而不是 $gigid 你应该在你的视图中使用其他变量。

我找到了;添加 isset() 就可以了;它工作完美。现在,我的代码如下所示:

{{ isset($proposal->deadline)?$proposal->deadline:'' }}

谢谢