如何解决Laravel 中如何通过类访问器获取用户模型的属性
我正在尝试在 RegisterController(Laravel Auth 包的一部分)中创建用户的同时创建一个客户,如果该用户注册为客户。但是,我尝试通过将以下代码添加到我的 User 模型来向 User 类添加“访问器”,以访问 user_id 属性,但访问器似乎无法按预期工作。 (见:https://laravel.com/docs/8.x/eloquent-mutators#defining-an-accessor)
public function getUserIdAttribute($user_id)
{
return $user_id;
}
然后我尝试使用此函数直接从 RegisterController 中的模型访问它:
protected function create(array $data)
{
$user = User::create([
'name' => $data['name'],'email' => $data['email'],'username' => $data['username'],'password' => Hash::make($data['password']),'utype' => $data['utype'],]);
if ($data['utype'] == "customer") {
Customer::create([
'user_id' => $user->user_id,]);
}
return $user;
}
出于某种原因,$user->user_id
虽然返回 NULL。问题是什么?为什么访问器没有被正确应用?
解决方法
在@lagbox 的帮助下,我弄清楚了问题所在。原来,列名只是“id”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。