laravel - 我如何避免此错误尝试获取非对象的属性“id”?
问题描述
我有这个索引功能来显示我的酒店:
public function index()
{
$myhotels = hotel::where('created_by',Auth::user()->id)->first();
$reservations = Reservation::where('hotel_id',$myhotels->id)->get();
return view('moderateur/reservation',compact('reservations'));
}
但是当没有酒店时我收到了这个错误Trying to get property 'id' of non-object
试试这个,但还是一样
public function index()
{
$myhotels = hotel::where('created_by',Auth::user()->id)->first();
if (!hotel::where('created_by',Auth::user()->id)->exists()){
$reservations = Reservation::where('hotel_id',$myhotels->id)->get();
return view('moderateur/reservation',compact('reservations'));
}
return view('moderateur/reservation');
}
我该如何解决这个问题:(?当没有酒店时,我想显示“没有酒店”
解决方案
在执行其余代码或 firstOrFail() 之前检查对象是否为空。
例如。
public function index()
{
...
if (!empty($myhotels) {
...
return view('moderateur/reservation');
}
}
推荐阅读
- excel - 如何在下一个空表行中粘贴单元格范围?
- python - 通过 Pandas 在 Jupyter Notebook 中读取 CSV 时出错
- python - plt.bar 不与点击事件(或任何事件)连接 - python matplotlib
- ide - 启动自己的项目时,Omnet++ IDE 一直冻结
- java - 找不到 .csv 文件
- c++ - 在类中使用 boost::math::distribution
- excel - 从 Excel 电子表格中填写 Word 文档,并能够选择用于生成文档的行
- java - 使用 Thymeleaf 'org.thymeleaf.spring5.processor.SpringInputGeneralFieldTagProcessor' 渲染 HTML 模板时出错
- python - 在 Python 中,列表和元组之间的类型转换是如何发生的?
- html - (webrtc)setRemoteDescription 不适用于发起者