我有一个以用户名、密码和 user_id 作为主键运行的数据库
我正在尝试使用 eloquent 从 user_id
列中获取最高的数字。
这是我当前的错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'users.id' in 'where clause' (SQL: select * from
users
whereusers
.id
= 2 limit 1)
这就是我的模型的样子:
用户.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;
}
}
关于php - 尝试使用 eloquent 从 SQL 数据库获取最大数量时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43758693/