Как использовать красноречивый один на один со всеми и получить Laravel

Вот код для моего контроллера категорий

public function index () {
$categories = Category::get(['id', 'image_id', 'name','slug', 'is_active'])->all();
return view('admin_pages.categories.categories', compact('categories'));
}

Я хочу получить путь к изображению из таблицы category_images, используя поле image_id. Я использовал отношения в модели категорий, как это

public function image () {
return $this->hasOne('App\CategoryImage');
}

На модели CategoryImage у меня нет никаких отношений, указанных. Как я могу получить путь к изображению в объекте категорий.

Заранее спасибо.

2

Решение

Вам не нужно использовать all() Вот. Чтобы загрузить отношение использовать with():

$categories = Category::with('image')->get();

Для доступа к изображению вы должны просмотреть коллекцию категорий, а затем использовать ->image связь:

$category->image->url;
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]