试图获取非对象 Laravel php 5.8 的属性“cname”

梅津洋平

我正在学习 Laravel 5.8,我正在构建一个工作门户网站。

我的问题是为什么会发生此错误。我已经检查了我的表,很明显,我在公司表中有一个列 cname(company name)。而且我还有一个对象。

以下是我的代码。如果有人帮助我,我真的很高兴。

此代码用于识别用户是求职者还是雇主。我想注册为求职者。

这是我的错误页面。

应用程序.blade.php

<li class="nav-item dropdown">
                                <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
                                    @if(Auth::user()->user_type='company')
                                        {{Auth::user()->company->cname}}
                                    @else
                                        {{Auth::user()->name}}
                                    @endif
                                    <span class="caret"></span>
                                </a>

用户名

use App\Profile;
use App\Company;

public function profile(){
        return $this->hasOne(Profile::class);
        }

    public function company(){
        return $this->hasOne(Company::class);
        }

网页.php

Route::POST('employer/register', 'EmployerRegisterController@employerRegister')->name('emp.register');

Route::view('employer/register','auth.employer-register')->name('employer.register');

公司控制器.php

public function store(Request $request){

        $user_id = auth()->user()->id;
        Company::where('user_id',$user_id)->update([
            'address'=>request('address'),
            'phone'=>request('phone'),
            'website'=>request('website'),
            'slogan'=>request('slogan'),
            'description'=>request('description')
        ]);
        return redirect()->back()->with('message','Company Successfully Updated !');
    }

任何帮助表示赞赏。

戴维特

错误抛出,因为Auth::user()->companyNull尝试获取这样的关系属性时使用三元运算符Auth::user()->company->cname ?? ''

<li class="nav-item dropdown">
    <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
        @if(Auth::user()->user_type == 'company')
            {{Auth::user()->company->cname ?? ''}}
        @else
            {{Auth::user()->name}}
        @endif
        <span class="caret"></span>
    </a>
</li>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章