QueryException SQLSTATE [42S22]:找不到列:1054

时间:2019-05-25 00:53:58

标签: sql laravel

我有查询异常 SQLSTATE [42S22]:找不到列:1054 Champ'3'inconnu dans on子句(SQL:从content内部联接{{1选择nameto_idmessage }}在users上。users = id,其中3 = 1)

这是我的控制器:

公共功能显示(用户$ user)     {

to_id

2 个答案:

答案 0 :(得分:0)

您需要基于外键联接表。喜欢:

->join('users', 'users.id', '=', 'message.user_id')

,加入后需要在“选择”和“位置”中指定表。喜欢:

->select('message.content','users.name','messages.to_id')
->where('message.to_id', auth()->user()->id)

,而不是:

->join('users', 'users.id','=', $user->id)

加入后执行以下操作:

->where('users.id', $user->id)

答案 1 :(得分:0)

您需要在消息查询中更正您的join子句。

$messages = DB::table('message')
        ->join('users', function($join) use($user) {
            $join->('users.id', '=', 'messages.user_id')
                ->where('users.id', '=', $user->id)
        })
        ->select('content','name','to_id')
        ->where('to_id','=',auth()->user()->id)
        ->get();