Laravel - неопределенное свойство: Illuminate \ Database \ MySqlConnection :: $ username - PullRequest
0 голосов
/ 03 июня 2019

Я написал запрос для передачи параметра из представления в контроллер, и я получил эту ошибку:

Неопределенное свойство: Illuminate \ Database \ MySqlConnection :: $ username

Просмотр Передача параметра

<td width="25%"><a class="btn btn-info" href="{{ route('gamesListDetail',$game->id) }}">{{ $game->name }}</a></td>

Принимающий контроллер

    public function gamesListDetail($id = null)
    {
    $gamelists = DB::table("platform_games")
        ->select("platform_games.id", "platform_games.username","game_player.game_id")
        ->join("game_player","game_player.game_id","=","platform_games.id")
            ->where('platform_games.id',$id)
            ->take(5);
        return view('soccerrave.games.gamesListDetail', compact('gamelists'));
    }    

Просмотр получения

    <tbody>
        @foreach($gamelists as $key => $gamelist)
            <tr>
                <td>{{ ++$key }}</td>

                <td>{{ $gamelist->username }}</td>


            </tr>
        @endforeach
            <tr>
            <td colspan="8">
                {{ $gamelists->links() }}
            </td>
            </tr>         
    </tbody>

Я ожидаю, что представление отобразит 5 лучших данных, основанных на параметре. Но я получил эту ошибку:

Неопределенное свойство: Illuminate \ Database \ MySqlConnection :: $ username

1 Ответ

1 голос
/ 03 июня 2019

Документация говорит:

Пропустить / взять

Чтобы ограничить количество результатов, возвращаемых запросом, или пропустить учитывая количество результатов в запросе, вы можете использовать skip и take методы:

$users = DB::table('users')->skip(10)->take(5)->get();

Итак, на примере мы видим, что после take метода должен быть get() вызов.

Исправьте Ваш код:

public function gamesListDetail($id = null)
{
    $gamelists = DB::table("platform_games")
                     ->select(
                       "platform_games.id", 
                       "platform_games.username",
                       "game_player.game_id"
                     )
                     ->join(
                       "game_player",
                       "game_player.game_id", "=", "platform_games.id"
                     )
                     ->where('platform_games.id', $id)
                     ->take(5)
                     ->get(); // this one is required

    return view('soccerrave.games.gamesListDetail', compact('gamelists'));
}   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...