php - 试图获取非对象 Laravel php 5.8 的属性“cname”
问题描述
我正在学习 laravel 5.8,并且正在建立一个工作门户网站。
我的问题是为什么会发生这个错误。我已经检查了我的表,显然,我在公司表中有一个列 cname(company name)。而且我还有一个对象。
以下是我的代码。如果有人帮助我,我真的很高兴。
此代码用于识别用户是求职者还是雇主。我想注册为求职者。
app.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>
用户.php
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()->company
is Null
。尝试获取这样的关系属性时使用三元运算符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>
推荐阅读
- java - 迁移到 CXF 3.2.7 -> 如何解决 SOAP RQ 处理过程中与密码相关的安全错误?
- python - 自动填充 Django Summernote
- excel - 如何在另一个工作簿的事件结束时触发
- templates - 如何将html、css、js模板转换为hugo静态网站构建器的模板
- rest - 在 DELETE 之后返回集合的剩余部分是否认为是不好的做法
- excel - 另存为提示位置但使用单元格中的文件名
- android - android recyclerview swipe 生成 java.lang.IndexOutOfBoundsException: Invalid index
- android - 带抽屉布局的安卓喷气背包
- corda - 在 Corda 中,响应者如何将组件添加到事务中?
- java - 当 find(Object.Class, {CompositeKey}) 方法的键是复合键时如何查找引用?