Используйте morphTo() в laravel много ко многим полиморфным

Как я могу использовать morphTo() во многих отношениях?

У меня есть четыре таблицы:

Posts:
 - id
 - title

Videos:
 - id
 - title

Tags:
 - id
 - name

Taggable:
 - id
 - tag_id
 - taggable_type
 - taggable_id

В других полиморфных типах (таких как one2one или one2many) мы можем легко использовать $this->morhphTo() для определения метода taggable() в нашей модели, который возвращает список либо App\Post, либо App\Video:

class Tag extends Model
{
    public function taggable()
    {
        return $this->morphTo();
    }
}
// So when we call taggable(), it returns either App\Post or App\Video
// But what about using this way in many to many polymorphic relations?


Я хочу что-то подобное в моей модели App\Tag. Это возможно?

Эта проблема заняла у меня 8 дней, и я до сих пор понятия не имею.


person Mousavi    schedule 28.05.2020    source источник
comment
Отвечает ли это на ваш вопрос? Получение всех отношений morphedByMany в Laravel Eloquent   -  person Remul    schedule 28.05.2020
comment
@Remul Я тестировал это раньше, но это не работает. Поле taggables в выводе по-прежнему равно null   -  person Mousavi    schedule 28.05.2020
comment
Почему вы избегаете использовать morphToMany / morphedByMany?   -  person Tpojka    schedule 28.05.2020