首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果Laravel数据库中不存在文件名,如何显示默认图像

如果Laravel数据库中不存在文件名,如何显示默认图像
EN

Stack Overflow用户
提问于 2020-03-20 00:30:50
回答 4查看 1.5K关注 0票数 1

我想为帖子列表中的每个条目显示一个图像。图像的名称是唯一的文件名。它们都保存在数据库(MySQL)表中。每个帖子都有一张以上的图片。代码运行正常。除非有一个没有图像文件名的post。这是一种可能的情况,但我无法让代码正常工作。如果post没有现有的文件名,我想显示一个默认的文件名。下面是我的代码:

镜像逻辑:

代码语言:javascript
复制
   /**
     * Get a vehicle's top or main image data from the image table
     */
     public function topImage($id)
    {
        $image = Vehiclefulldataimage::where('vehiclefulldatas_id', $id)
              ->orderBy('id', 'ASC')->first();

        return $image;
    }

这是刀片式视图,帖子:

代码语言:javascript
复制
    @if (count($posts) > 0)
        @foreach($posts as $post)
            <?php $imageFilename = (new \App\Models\Logic\Images)->topImage($post->id); ?>
            <!--Item-->
            <li>
                <div class="preview">
                    @if ($imageFilename = 0)
                    <img src="{{ asset('images') . '/' . 'defaultImage.jpg' }}" alt="No photo">
                    @else
                    <img src="{{ asset('images') . '/' . $imageFilename->disk_image_filename }}" alt="{{ ucfirst($imageFilename->caption) . ' | ' . $post->title }}">
                    @endif
                </div>
                <div class="desc">
                    <h3>{{ str_limit($post->title, 100, '...') }}</h3>
                </div>       
            </li>
            <!--/Item-->
        @endforeach
    @endif

这是我得到的错误信息:“正在尝试获取非对象的属性”

EN

Stack Overflow用户

发布于 2020-03-25 20:16:32

谢谢大家。在查看了所有答案之后,我对代码进行了简单的修改。我修改了:@if ($imageFilename = 0)

收件人:@if ($imageFilename == null)

因此,我的代码现在看起来是:

代码语言:javascript
复制
@if (count($posts) > 0)
        @foreach($posts as $post)
            <?php $imageFilename = (new \App\Models\Logic\Images)->topImage($post->id); ?>
            <!--Item-->
            <li>
                <div class="preview">
                    @if ($imageFilename == null)
                    <img src="{{ asset('images') . '/' . 'defaultImage.jpg' }}" alt="No photo">
                    @else
                    <img src="{{ asset('images') . '/' . $imageFilename->disk_image_filename }}" alt="{{ ucfirst($imageFilename->caption) . ' | ' . $post->title }}">
                    @endif
                </div>
                <div class="desc">
                    <h3>{{ str_limit($post->title, 100, '...') }}</h3>
                </div>       
            </li>
            <!--/Item-->
        @endforeach
    @endif
票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60761301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档