尝试从SQL数据库使用口才获得最大数量时出错
问题描述:
我有一个数据库以用户名,密码和user_id作为主键 运行,我试图使用口才从user_id
列中获得最高数字。尝试从SQL数据库使用口才获得最大数量时出错
这是我目前的错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'users.id' in 'where clause' (SQL: select * from
users
whereusers
.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;
}
}
答
通常情况下,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;
}
}
答
获得最高的用户这样
$user = users::orderBy('user_id', 'desc')->first();
+0
这个错误r与我给你的查询无关。是什么导致你刚才向我展示的这个错误? – EddyTheDove
错误变成SQLSTATE [ 23000]:完整性约束违规:1062对于'PRIMARY'键重复条目'0'(SQL:插入'users'('username','password','user_id')values(adw,awd,{“username” “”,“password”:“”,“user_id”:2})) –