Mysql 使用ids数组vs联接表Laravel雄辩
我正在创建一个与MySQL DBMS连接的Laravel应用程序,其中我有三种模型:Mysql 使用ids数组vs联接表Laravel雄辩,mysql,laravel,eloquent,Mysql,Laravel,Eloquent,我正在创建一个与MySQL DBMS连接的Laravel应用程序,其中我有三种模型: 产品 ProductGallery 文件 我也有以下关系 一个产品有一个产品库 一个ProductGallery有许多文件 我的问题是: 如果我将图像作为文件ID数组存储在ProductGallery中,可以吗 而不是创建联接表或在文件模型中使用库id public function setImagesAttribute($images) { $this->attr
- 产品
- ProductGallery
- 文件
- 一个产品有一个产品库
- 一个ProductGallery有许多文件
public function setImagesAttribute($images)
{
$this->attributes['images'] = serialize($images);
}
public function getImagesAttribute()
{
if (empty($this->attributes['images']) || is_null($this->attributes['images'])) return [];
return unserialize($this->attributes['images']);
}
我问这个问题是想知道这种方法是否有副作用
将来可能会有与文件相关的其他模型模型(类别可能具有特色图像文件等)。在我看来,更好的选择是创建透视表。。因为进一步说,当你必须加入时,你需要拉数组,并且你必须在一个坏循环下执行一个查询 我还将在数组[find accepts array of id]上使用File::find()