php - 尝试使用 eloquent 从 SQL 数据库获取最大数量时出错

标签 php mysql laravel laravel-5

我有一个以用户名、密码和 user_id 作为主键运行的数据库 我正在尝试使用 eloquent 从 user_id 列中获取最高的数字。

这是我当前的错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'users.id' in 'where clause' (SQL: select * from users where users.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/

相关文章:

mysql - 在mysql中获取组中的最大值

php - Laravel Blade 将数组数据传递给多个扩展

php - 使用 Laravel 将表格下载为 CSV

javascript - 如何在javascript中获取带有ID的选中复选框值

PHP mysql 插入日期格式

javascript - 具有奇怪行为的发布请求

php - laravel迁移中的时间格式?

php - JavaScript 问题 - 未将前导 '0' 的字符串传递到正确的字符串

php - 如何将逗号添加到字符串中除最后一项之外的所有内容

mysql - 错误 1054 子查询中的未知列