#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 /…