首页 > 解决方案 > SQLSTATE [42S22]:未找到列:1054 'where 子句'中的未知列'id'(SQL:select * from `myroutes` where `id` = 14 limit 1)

问题描述

使用 Laravel,我能够从数据库中发布数据,购买得到它。但我需要它来仅获取与登录用户具有相同 user_id 的数据。

当我尝试选择一个输出数据或尝试链接到它时,我收到以下错误 *"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' in 'where clause' (SQL: select * from myrouteswhere id= 14 limit 1)"* 但我到处都有“myroute_id”,这是数据库中的正确列。

网页.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
在此处输入图像描述

标签: databaselaravelroutes

解决方案


您的查询将是这样的

$data = DB::table('myroutes')->where('user_id',$yourId)->get();
dd($data);

推荐阅读