Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 25.01.2022 22:22:44

Использовании полиморфных связей из дочерних моделей

Подскажите, пожалуйста, каким образом можно использовать полиморфную связь при использовании дочерних и родительских моделей.

Например есть модели App\Models\User и App\Models\Api\V1\User, где вторая модель наследуется от первой.

в App\Models\User есть, например, связь

public function posts()
{
return $this->morphMany(\App\Models\Post::class, ’owned_by’);
}

аналогично для модели Post есть дочерняя модель App\Models\Api\V1\Post

Если пост был создан из пользователя Api\V1, в базу сохраняется связь на владельца App\Models\Api\V1\User, а из другого пользователя по связи posts данный пост не находится.

Подскажите, пожалуйста, как можно настроить связи так, чтобы при запросе можно было получить все элементы из дочерних и родительских моделей? или может можно принудительно сохранять при таком запросе в связи App\Models\User, а при запросах и дочерних моделей при полиморфной связи получать данные из родительской модели.

Не в сети

#2 27.01.2022 13:47:32

Re: Использовании полиморфных связей из дочерних моделей

А что в базе, какие вообще таблицы вы завели для хранения этих объектов? Что фактически сохраняется?

Маленький секрет: буквально наследовать классы-модели не надо. Достаточно прописать связи согласно документации и создать таблицы с нужным набором полей.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

Подвал раздела