首页 > 解决方案 > 试图获取非对象的属性“路径”

问题描述

您好,我在生产中遇到上述错误,但在开发中一切正常。我正在使用下面的代码来获取属性的主图像的路径,但它默认为 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;

            }

标签: laravel-8

解决方案


如果每家酒店都有图片,您是否检查过您的数据库?根据您的问题和解释,for each 的一部分为图像返回 null,因此 if 部分失败,else 返回错误。如果是这种情况,那么您可能需要通过上传图像或修改您的检查以处理未找到图像的情况来对其进行检查和排序。


推荐阅读