Laravel Eloquent относится к ToMany / hasMany отношения, используя пользовательский столбец массива? - PullRequest
0 голосов
/ 07 октября 2019

У меня есть таблица базы данных MySQL 5.7 со столбцом, где у каждой записи будет массив внешних идентификаторов JSON, а не обычный способ.

[1,2,3,4,5]

Есть ли способиспользовать это в пользовательских отношениях Eloquent hasMany? Чтобы я мог сделать $myModel->related и получить коллекцию связанных моделей?

Я всегда могу использовать метод доступа:

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

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

, но он не очень эффективен и допускает только чтение.

Есть идеи? К сожалению, структура базы данных не может быть легко изменена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...