从Laravel的数据库中获取可验证的用户

时间:2016-12-12 13:24:56

标签: php laravel eloquent

在我的Laravel项目中,默认用户扩展如下:

class User extends Authenticatable{
  use Notifiable;

  protected $fillable = [
      'id','name', 'email', 'password','type',
  ];

  protected $hidden = [
      'password', 'remember_token',
  ];
}

当我试图让所有注册用户使用它时,

$user = User::all();
return $user;
  

[{“id”:0,“name”:“sdfsd”,“email”:“sdsdc@fdcs.gfhf”,“type”:“a”,“created_at”:“2016-12-11 19 :44:39“,”updated_at“:”2016-12-11 19:44:39“},{”id“:0,”name“:”dcsdc“,”email“:”dsd@dscsdc.lll“ ,“type”:“a”,“created_at”:“2016-12-12 12:14:42”,“updated_at”:“2016-12-12 12:14:42”}]

我得到了所有用户,但没有他们的用户ID。我给出'0'。

当我尝试使用'where'约束时,它会产生异常。

那么我可以将User用作Eloquent模型吗?如何在Laravel中检索用户表信息?

2 个答案:

答案 0 :(得分:1)

Illuminate \ Database \ Eloquent \ Model.php 路径文件中找到public $incrementing = true;并使用false进行更新并检查。

您可以从Eloquent Model Conventions获取有关相同内容的详细信息 希望这可以解决你的问题

答案 1 :(得分:1)

您必须在模型上将$incrementing设置为false。

public $incrementing = false;

Eloquent假设主键是递增的整数值,这意味着默认情况下主键将自动转换为int

如果您希望使用非递增或非数字主键,则必须将模型上的公共$incrementing属性设置为false

Docs