У меня есть приложение Laravel и я следующие моделиLaravel многие ко многим
- Workshop
- WorkshopCategory
У меня есть 3 таблицы,
- мастерские
- workshop_categories
- workshop_category_relation
Я пытаюсь использовать красноречив, чтобы из положить все свои мастерские, с соответствующими категориями, как следующее:
{
"id":14,
"workshop_name":"First Workshop",
"description":"Located all over",
"categories": array: [
0 => "wood"
1 => "metal"
]
}
Что бы лучшим способом быть для достижения этой цели? я бы в моей модели мастерской добавить следующее:
public function categories()
{
return $this->belongsToMany('App\Workshopcategory', 'workshop_category_relation', 'workshop_id', 'category_id');
}
Я добавил выше функцию для моей модели мастерской и при попытке вывода семинар вроде следующего:
$workshop = Workshop::FindOrFail(14);
return $workshop->categories();
я получаю следующее сообщение об ошибке :
Object of class Illuminate\Database\Eloquent\Relations\BelongsToMany could not be converted to string
Ive обновил вопрос, как я пробовал этот метод. –
Что происходит, когда вы 'dd ($ workshop);' перед возвращением? Я думаю, проблема в том, что вы используете 'categories()' вместо просто 'categories'. – Samsquanch