Laravel получить объект - PullRequest
0 голосов
/ 05 марта 2020

У меня небольшие проблемы с моим Laravel приложением. Я перечисляю некоторые данные из моей базы данных, и я хочу взять конкретный c объект от каждого.

Код, который работает, выглядит следующим образом.

    $user = auth()->user();
    $servers = Server::where('clientid', $user->id)
               ->orderBy('id', 'desc')
               ->get();


    if ($user) {
        $reposne['result'] = true;
        $reposne['servers'] = $server;
    } else {
        return response()->json(['error' => 'Unauthorized'], 401);
    }
    return $reposne;
}

И это таблица перечисления , но мне нужно получить идентификатор для каждого имеющегося у меня объекта, например:

    if ($user) {
        $reposne['result'] = true;
        $reposne['separate_id'] = $server[]->id; 
        $reposne['servers'] = $server;
    } else {
        return response()->json(['error' => 'Unauthorized'], 401);
    }

    return $reposne;
}

Но из c это не работает. Я пробовал с foreach, как:

foreach ($servers as $key => $server) {
    $data['id'] = $server->id;
}
if ($user) {
    $reposne['result'] = true;
    $reposne['servers'] = $data;
} else {
    return response()->json(['error' => 'Unauthorized'], 401);
}

return $reposne;

Но в нем указан только первый.

Ответы [ 2 ]

0 голосов
/ 05 марта 2020

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

$servers = Server::where('clientid', $user->id)
               ->orderBy('id', 'desc')
               ->pluck('id');
0 голосов
/ 05 марта 2020

Вы можете использовать метод pluck коллекции:

$ids = $server->pluck('id'); // retrieves all servers' IDs.

См. Laravel документы для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...