laravel: вернуть json данных из массива - PullRequest
0 голосов
/ 28 января 2020

У меня есть foreach Мне нужно вернуть каждый объект в этом массиве в JSON

Позвольте мне сначала представить мой контроллер

$childCategory = ChildCategory::whereProductCategoryId( $catId )->get();
                $data          = array();
                foreach ( $childCategory as $childCat ) {
                    $checkChildes = ChildCategoryTwo::whereChildCategoryId( $childCat->id )->count();
                    $hasChildes   = $checkChildes > 0 ? "Yes" : "No";

                    $data[] = $childCat->id;
                    $data[] = $childCat->image;
                    $data[] = $childCat->bg_color;
                    $data[] = $childCat->product_category_id;
                    $data[] = $childCat->translations[0]->name;
                    $data[] = $childCat->translations[1]->name;
                    $data[] = $hasChildes;
                }

                return response()->json( [$data] );

вывод данных выглядит следующим образом

    [
        1,
        "1561015312.png",
        "#a9dabf",
        1,
        "Drinks",
        "No",
        2,
        "1562500737.jpg",
        null,
        1,
        "Drinks",
        "Yes"
    ]

вывод правильный, но формат неправильный, мне нужно, чтобы он вывел что-то вроде этого

[
      {
            id : 1,
            image : "1561015312.png",
            color : "#a9dabf",
            parent_cat : 1,
            name : "Drinks",
            has_child : "No",
      },
      {
            id : 2,
            image : "1562500737.jpg",
            color : null,
            parent_cat : 1,
            name : "Soda Drinks",
            has_child : "Yes"
      }
]

1 Ответ

2 голосов
/ 28 января 2020

Попробуйте с этим

$childCategory = ChildCategory::whereProductCategoryId( $catId )->get();
$data = array();

foreach ( $childCategory as $childCat ) {
    $checkChildes = ChildCategoryTwo::whereChildCategoryId( $childCat->id )->count();
    $hasChildes   = $checkChildes > 0 ? "Yes" : "No";

    $data[] = [
        'id' => $childCat->id,
        'image' => $childCat->image,
        'color' => $childCat->bg_color,
        'parent_cat' => $childCat->product_category_id,
        'name' => $childCat->translations[0]->name,
        'has_child' => $hasChildes
    ];
}

return response()->json( $data );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...