Продолжаю изучать Laravel. Работаю с ресурсами.
- Есть модель, контроллер, ресурс Initial (первый старт для сайта)
- Есть модель, контроллер, ресурс Categoty (категории сайта)
В InitialResource пишу
public function toArray($request) {
return [
'mainMenu' => CategoryResource::collection(Category::all()),
'navigation' => '',
'cities' => '',
'status' => 'success',
];
}
Все работает отлично, но выводит все категории, а не активные.
В модели Category создал метод
public function index() {
return $this->where('actf', 1)->get();
}
Далее правлю ресурс
public function toArray($request) {
return [
'mainMenu' => CategoryResource::collection([Category::class, 'index']),
'navigation' => 2,
'cities' => 3,
'status' => 'success',
];
}
И не работает. Кричит что не получает title
В ресурсе категории он нужен
public function toArray($request) {
return [
'title' => $this->title,
'url' => '/catalog/' . $this->url,
];
}
Направьте на путь истинный. Что не так вызываю?
Конечно можно в InitialResource создать new Category() и вызвать метод index() но что-то чувствую, что не правильно это.