Аналог Laravel morphedbymanyдля morphedByOne

#php #laravel

#php #laravel

Вопрос:

У меня есть отношение к модели post:

 public function partners() {
     return $this->morphedByMany('AppPartner', 'postable');
}
  

И у меня есть отдельная таблица postables.

Мне нужно получить только одного партнера. В blade я могу это сделать:

 $post->partners->first()->title
  

Это работает. Но есть ли аналог для morphedByOne? Я хочу вернуть только одну коллекцию, но не массив коллекций..

Комментарии:

1. Вы имеете в виду, что вам нужны отношения «Один к одному» ? Или вы просто хотите такое же отношение, получая один ответ модели без использования first() ?

2. @Bogdan Отношение «Один к одному», работающее только со столбцами в одной таблице. У меня есть отдельная таблица, мне нужна связь для отдельной таблицы.

3. Я не уверен, что понимаю ваш вопрос. Вы имеете в виду, что вам всегда будет нужно только первое partner из partners отношения?

4. @DelenaMalan У меня есть партнеры по таблицам, сообщения и постаблицы. Postables — это полиморфная таблица. В документах laravel я нашел только отношение morphedByMany, отношение morphedByOne я не нашел.

5. Какую версию laravel вы используете? Из документов 5.7 вы можете использовать morphOne laravel.com/docs/5.8 /…