Как передать многомерный массив в API с помощью laravel

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

ФРУКТЫ

  • Яблоко
  • манго
  • Апельсин

Животное

  • Собака
  • Кот
  • Корова

Страна

  • Германия
  • Великобритания
  • США

Итак, это то, что я хочу, чтобы он возвращал, см. Мой код ниже

 Route::get('all-category', function(){

$category = DB::table('directory_companies')
             ->join('categories','directory_companies.categories_id', '=', 'categories.id')
            ->select('categories.name', 'directory_companies.*') 
             ->get();
return response()->json($category);

Как мне вернуть его для отображения, как в списке выше, в многомерном массиве, я использую Laravel для создания API

Вы должны использовать отношения laravel, это будет намного проще laravel.com/docs/8.x/eloquent-relationships#querying-relatio‌​ns

ml59 14.12.2020 15:23
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
1
637
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать красноречивый ресурс для отображения любой структуры, которую вы хотите для API.

Создать ресурс и коллекцию ресурсов

php artisan make:resource directory_companies
php artisan make:resource directory_companies_collection --collection
$category = DB::table('directory_companies')
             ->join('categories','directory_companies.categories_id', '=', 'categories.id')
            ->select('categories.name', 'directory_companies.*') 
             ->get();

return response()
    ->json(new directory_companies_collection(new directory_companies($category)));

И в вашем ресурсе directory_companies:

public function toArray($request)
    {
        return [
            // Any structure of data you want to present
        ];
    }

Другие вопросы по теме