laravel-8 - 试图获取非对象的属性“路径”
问题描述
您好,我在生产中遇到上述错误,但在开发中一切正常。我正在使用下面的代码来获取属性的主图像的路径,但它默认为 else,尽管 if 不是 false 加上 else 也找不到路径,即使转储显示对象已返回 //check如果所选目的地有酒店
if($hotels->isNotEmpty()){
//Loop through the hotels
foreach($hotels as $hotel){
//get hotels main image
$banner = Photo::where(['p_id'=>$hotel->id])->where(['is_main'=>1])->first();
$altbanner = Photo::where(['p_id'=>$hotel->id])->first();
$banner_path = "";
$altText = "";
if($banner!=null){
$banner_path = $banner->path;
$altText = $banner->alt_text;
}else{
$banner_path = $altbanner->path;
$altText = $altbanner->alt_text;
}
解决方案
如果每家酒店都有图片,您是否检查过您的数据库?根据您的问题和解释,for each 的一部分为图像返回 null,因此 if 部分失败,else 返回错误。如果是这种情况,那么您可能需要通过上传图像或修改您的检查以处理未找到图像的情况来对其进行检查和排序。
推荐阅读
- javascript - 无法使用 require.js 加载 jquery
- jenkins - 为什么詹金斯反复查询旧的声纳 qube 分析?
- c++ - 无法读取所有行的数据
- reactjs - 使用 MockedProvider 进行测试时使用 Apollo 突变更新存储
- sql - 如何在查询结果中添加结尾零
- jquery - 在多个基于查询日期选择器的日历中选择日期和可用性
- android - 由于带有 https url 的设备日期时间错误,无法在 Android 中加载 api 响应
- linux - 汇编程序在 GDB 中找不到调试符号
- ios - Apple In App Purchase 的宽限期是什么?如何在 Apple Store Connect 中进行配置?
- java - 找不到 Java 'AnnotationReader' 类