Laravel Eloquent使用自定义数组列的longestToMany / hasMany关系?

时间:2019-10-07 14:56:49

标签: mysql laravel relationship

我有一个带有列的MySQL 5.7数据库表,其中的每条记录将具有外来ID的JSON数组,而不是传统的方式。

[1,2,3,4,5]

有没有一种方法可以在自定义的Eloquent hasMany关系中使用它?这样我就可以$myModel->related并获得相关模型的集合了?

我总是可以使用访问器方法:

protected $casts = ['relatedModelIds' => 'array'];

protected function getRelatedAttribute()
{
    return RelatedModel::whereIn('id', $this->relatedModelIds)->get();
}

但是效率不是很高,只能阅读。

有什么想法吗?不幸的是,数据库结构无法轻松更改。

0 个答案:

没有答案