首页 > 解决方案 > 如果我想拥有一张伴随着其他图像的图像,我是否需要多个数据库表?

问题描述

用户将能够使用多个图像输入上传 1 个或任意数量的图像。

Images table
Columns: id, name, description, user_id, file_name

主页将显示图像但不显示随附图像,它们将显示在特定图像页面上。如果用户上传 1 张图片,则不会有随附的图片。

主页将是这样的:

@foreach($images as $image)
    <a href='{{url("image/".$image->id)}}'>
        <img src='{{url("storage/uploads/images/thumbnails/".$image->file_name)}}' alt='Random image'/>
    </a>
@endforeach

为简单起见,在上传多张图片的情况下,数组中的第一张图片将是显示的主图片,并将home.blade.php保存file_name在表格的列中images

在特定图像页面上,如果图像没有任何随附图像,则它应该只有 1 个图像,如下所示:

<img src='{{url("storage/uploads/images/specificImages/".$image->file_name)}}' alt='Random image' />

如果它有附带的图像,它应该显示主图像,然后是附带的图像。

现在我的问题是我是否应该为随附的图像创建第二个表和模型,或者我应该在images表中添加一个字段,该字段collection将包含一个唯一值,该值将在同一集合的图像之间共享?

标签: phpdatabaselaraveleloquent

解决方案


现在我的问题是我是否应该为随附的图像创建第二个表格和模型,或者

parent_id将新列添加到名为 ie 的现有表中并将其值设置为所有随附图像的值应该是完全足够id的,它们随附的图像(您的集合中的第一个)。对于该父图像的记录,您保留该字段集,即NULL表示该图像没有父图像。


推荐阅读