SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец 'id' в 'предложении where' (SQL: выбрать * из `myroutes`, где` id` = 14 limit 1) - PullRequest
0 голосов
/ 26 апреля 2018

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

Когда я пытаюсь выбрать одну из выходных данных или попробовать ссылку на нее, я получаю следующую ошибку * "SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец 'id' в 'предложении where' (SQL: выберите * из myroutes, где id = 14 limit 1) "* но везде у меня есть" myroute_id ", который является правильным столбцом в базе данных.

web.php

Route::get('/my-saved-routes', function () {

$myroutes = DB::table('myroutes')->latest()->get();

return view('myroutes.index', compact('myroutes'));
});

Route::get('/my-saved-routes/{myroute_id}', function ($myroute_id) {    

$myroute = DB::table('myroutes')->find($myroute_id);

return view('myroutes.show', compact('myroute'));
});

myroutes.index

    @foreach ($myroutes as $myroute)
    <ul>

        <a href="/my-saved-routes/{{ $myroute->myroute_id }}">
            <li>{{ $myroute->start }} - {{ $myroute->end }}</li>
        </a>
    </ul>
@endforeach

myroutes.show

<ul>
    <li>{{ $myroute->myroute_id }}</li> 
    <li>{{ $myroute->start }}</li>
    <li>{{ $myroute->end }}</li>
    <li>{{ $myroute->waypoints }}</li>
</ul>

База данных

База-IMG
enter image description here

Ответы [ 2 ]

0 голосов
/ 26 апреля 2018

find() всегда использует столбец id. Вы должны использовать это:

$myroute = DB::table('myroutes')->where('myroute_id', $myroute_id)->first();
0 голосов
/ 26 апреля 2018

Ваш запрос будет выглядеть так

$data = DB::table('myroutes')->where('user_id',$yourId)->get();
dd($data);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...