在我的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中检索用户表信息?
答案 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
。