【发布时间】:2017-04-27 09:10:41
【问题描述】:
在我的 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。ID 为“0”。
当我尝试使用“where”约束时,它会给出异常。
那么我可以将 User 用作 Eloquent 模型吗?如何在 Laravel 中检索用户表信息?
【问题讨论】:
-
你得到什么样的异常?
-
提供正确/完整的旅行代码
-
已编辑。我在使用
User::all()时得到了上述结果,但 id 显示为 0。我检查了 db,但它们不是 0。使用User::where('id', "NPC0001")时出现错误提示“helpers.php 第 519 行中的 ErrorException:htmlspecialchars() 需要参数 1是字符串' -
“id”列不应该在您的可填充数组中,这是一个安全风险。
-
ID 不是自动增量 ID。我已将其更改为字符串。在我的应用中,用户必须提供它。