laravel 2 таблицы имеют отношение 1: n к одной и той же таблице - PullRequest
0 голосов
/ 28 мая 2020

У меня есть таблица пользователей, таблица продуктов и таблица активов. У пользователя может быть много активов, как и у продукта, что означает, что и пользователи, и продукты имеют отношение 1: n с активами. В Laravel, как бы показать это отношение в Eloquent, является ли это отношение Polymorphi c, при этом структура столбцов таблицы ресурсов выглядит примерно так:

ID, type, file_path, ownable_id, ownable_type 

Ответы [ 2 ]

0 голосов
/ 28 мая 2020

отношение модели пользователя

 public function assets()
    {
        return $this->morphMany(Asset::class, 'assetable');
    }

отношение модели актива

public function assetable()
{
    return $this->morphTo();
}
0 голосов
/ 28 мая 2020

Думаю, ваши столбцы таблицы ресурсов должны быть

id, type, file_path, assetable_id, assetable_type

Добавьте это отношение к вашему пользователю и модели продукта

    public function assets()
    {
        return $this->morphMany(Asset::class, 'assetable');
    }

Затем добавьте это отношение к вашей модели актива

public function assetable()
{
    return $this->morphTo();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...