2017-03-11 9 views
0

他のユーザーがすでに登録されている他のユーザーのリンクを使用してサインアップできるプログラムを作成しようとしています。だから、参照されると、これはURLのようになりますLaravelで紹介プログラムを作成するにはどうすればよいですか?

mywebsite.com/register?ref_id=555 // ref_id is existing user id 

私はデフォルトのLaravel authを使用しています。存在する場合、の値を含む隠れた入力値があります。私のデータベースのreferred_byという列はINTで、デフォルトでnullに設定されています。誰かがref_idでリンクを使用して登録すると、そのIDはそのユーザー行に保存されます。 しかし問題は毎回nullとして保存されていることです。 ref_idが、私は、文字列として非表示の入力フィールドに保存されているので

これは、バリデータはAuth/RegisterController.php

protected function validator(array $data) 
{ 
    return Validator::make($data, [ 
     'first_name' => 'required|max:40', 
     'last_name' => 'required|max:40', 
     'email' => 'required|email|max:255|unique:users', 
     'account_name' => 'required|max:80', 
     'account_number'=> 'required|max:15', 
     'bank_name'=> 'required|max:30', 
     'phone_number' => 'required|max:15', 
     'ref_id' => 'nullable|numeric', 
     'username' => 'required|max:15|unique:users', 
     'password' => 'required|min:6|confirmed', 
    ]); 
} 

のように見え、これはメソッドを作成する方法である方法ですが

のように見えますデータベースに入れる前に整数に変換しようとしましたが、動作させることができません。 私はこれをどのように達成できるのか本当に混乱しています。 私を助けてください。 ありがとうございます。

+1

referred_idを変更するには、それらのすべてが、Userモデルに '$ fillable'ですか? – upful

+0

データが 'dd($ data)'によってref_idを持っているかどうかを確認し、そうであればreferenced_idがユーザモデルの$ fillableにあるかどうかを確認します – Paras

+0

はい、入力可能です。これは、配列がprotected $ fillable = [ 'first_name'、 'last_name'、 'email'、 'account_name'、 'account_number'、 'bank_name'、 'referenced_by'、 'username'、 'phone_number'、 'パスワード '、 ]; @upful –

答えて

2

あなたの関数を作成は'referred_id' => (int)$data['ref_id'], を持っていますが、自分の列名がreferred_byで、これだけreferred_by

+0

ありがとうございました。これが問題だったようです。私が馬鹿のように3時間過ごしたような馬鹿げたミスでした。間違いを指摘してくれてありがとう、ありがとう。私が正しい道を歩いたようだ。 –

+0

うれしかった、うれしい! – Paras

関連する問題