Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Подскажите, пожалуйста, каким образом можно использовать полиморфную связь при использовании дочерних и родительских моделей.
Например есть модели 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, а при запросах и дочерних моделей при полиморфной связи получать данные из родительской модели.
Не в сети
А что в базе, какие вообще таблицы вы завели для хранения этих объектов? Что фактически сохраняется?
Маленький секрет: буквально наследовать классы-модели не надо. Достаточно прописать связи согласно документации и создать таблицы с нужным набором полей.
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Не в сети