在laravel 5中从url params为模型添加值

时间:2017-03-11 15:57:08

标签: php laravel laravel-5 laravel-routing laravel-5.4

在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'
];` 

1 个答案:

答案 0 :(得分:1)

我认为问题可能是您在表单中用于注册用户的路线和网址。

您展示的网址可能用于显示注册表单,但是当您发送表单时,您会将其发送到http://localhost:8000/register网址,这样您就不会在网址中定义ref

您应该确保将表单发送到http://localhost:8000/register?ref=1b0a6294-043d-11e7-86bf-56847afe9799网址,或者将来自get ref值的隐藏字段设置为。{/ p>