我有一个运行时使用username,password和user_id作为主键的数据库
并且我试图使用雄辩的方式从user_id
列中获取最高数字。
这是我当前的错误:
SQLSTATE [42S22]:未找到列:1054未知列' users.id'在' where子句' (SQL:从
users
中选择{users
。id
= 2限制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 :(得分: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;
}
}
答案 1 :(得分:0)
获得像这样的最高用户
$user = users::orderBy('user_id', 'desc')->first();