Задать вопрос
dragonika8
@dragonika8
FrontEnd-Разработчик

Как вывести все поля в response?

Есть задание

5e5108ea1ee5d058570629.png

Я достал из бд все поля

5e510929d5365946753926.png

Пытаюсь вывести, но не получается, возвращает только первое поле

Вот сам код

public function getPhotos() {
        $photos = DB::table('photo')
            ->join('share', 'photo.id', '=', 'share.photo_id')->get();
        $jsonPhotos = json_decode($photos , true);

        dd($jsonPhotos);

        for ($i = 0; $i < count($jsonPhotos); $i++) {
            return response()->json(['id' => $jsonPhotos[$i]['id'], 'title' => $jsonPhotos[$i]['title'], 'url' => 'http://photoservice.ru/' . $jsonPhotos[$i]['path'], 'owner_id' => $jsonPhotos[$i]['owner_id'], 'users' => $jsonPhotos[$i]['user_id']], 200);
        }
    }


Должен быть массив объектов
  • Вопрос задан
  • 252 просмотра
Подписаться 3 Простой 1 комментарий
Решения вопроса 1
dragonika8
@dragonika8 Автор вопроса
FrontEnd-Разработчик
public function getPhotos() {
        $photos = \DB::table('photo')
            ->join('share', 'photo.id', '=', 'share.photo_id')
            ->get()
            ->groupBy('photo_id')
            ->map(function ($photo) {
                return [
                    'id' => $photo[0]->photo_id,
                    'title' => $photo[0]->title,
                    'url' => 'http://photoservice.ru/' . $photo[0]->path,
                    'owner_id' => $photo[0]->owner_id,
                    'users' => $photo->pluck('user_id')
                ];
            })->values();

        return response()->json($photos, 200);

    }
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dlnsk
@dlnsk
ПК Партнер 01.01 -> ПК Поиск -> IBM PC
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы