在laravel 5.4中使用推荐系统。我已经能够为每个用户创建一个唯一的可共享链接。
当其他用户点击它时,我希望将具有链接原始所有者的引荐ID的网址部分添加到用户的referrer
字段中。
我尝试了这种方法并且遇到了这个错误,有什么更好的方法可以做到这一点。
use Illuminate\Support\Facades\Input;
protected function create(array $data)
{
$ref = Input::get('ref');
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
'referrer' => $ref
]);
return $user;
}
我收到错误,抱怨即使链接上有引用,referrer
列也不能为空。
示例链接。
http://localhost:8000/register?ref=1b0a6294-043d-11e7-86bf-56847afe9799
用户模型
protected $fillable = [
'name', 'email', 'password', 'level', 'btc_address', 'referrer'
];`
答案 0 :(得分:1)
我认为问题可能是您在表单中用于注册用户的路线和网址。
您展示的网址可能用于显示注册表单,但是当您发送表单时,您会将其发送到http://localhost:8000/register
网址,这样您就不会在网址中定义ref
。
您应该确保将表单发送到http://localhost:8000/register?ref=1b0a6294-043d-11e7-86bf-56847afe9799
网址,或者将来自get ref
值的隐藏字段设置为。{/ p>