2017-05-03 59 views
0

我有一个数据库以用户名,密码和user_id作为主键 运行,我试图使用口才从user_id列中获得最高数字。尝试从SQL数据库使用口才获得最大数量时出错

这是我目前的错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'users.id' in 'where clause' (SQL: select * from users where users . id = 2 limit 1)

这是我的模型看起来像:

users.php

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 


use DB; 
use Eloquent; 

class users extends Eloquent 
{ 
    public static function register() 
    { 
     $user_id = users::find(DB::table('users')->max('user_id')); 


return $user_id; 
    } 

    } 

回答

0

通常情况下,Laravel认为主键的名称是id。如果它不是id,则必须声明主键名称。所以,在你的用户类补充一点:

protected $primaryKey = 'user_id'; 

这是全班同学应该如何看:

class users extends Eloquent 
{ 
    protected $primaryKey = 'user_id'; 
    public static function register() 
    { 
     $user_id = users::find(DB::table('users')->max('user_id')); 
     return $user_id; 
    } 
} 
+0

错误变成SQLSTATE [ 23000]:完整性约束违规:1062对于'PRIMARY'键重复条目'0'(SQL:插入'users'('username','password','user_id')values(adw,awd,{“username” “”,“password”:“”,“user_id”:2})) –

0

获得最高的用户这样

$user = users::orderBy('user_id', 'desc')->first(); 
+0

这个错误r与我给你的查询无关。是什么导致你刚才向我展示的这个错误? – EddyTheDove

相关问题