我想創建一個程序,其他用戶可以使用其他已註冊用戶的鏈接註冊。所以,當一個人被提及,這是如何url看起來像如何在Laravel中創建推薦計劃?
mywebsite.com/register?ref_id=555 // ref_id is existing user id
我使用默認的Laravel身份驗證。有一個隱藏的輸入值,如果它存在,將包含值ref_id
。我的數據庫有一個名爲referred_by
的列,它是INT
,默認設置爲null
。當有人使用ref_id鏈接進行註冊時,該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',
]);
}
,這是怎樣的創建方法看起來像
由於REF_ID保存在隱藏的輸入字段作爲字符串,我嘗試將其轉換爲一個整數,然後再放入數據庫中,但我無法使其正常工作。 我真的很困惑我如何才能做到這一點。 請幫幫我。 在此先感謝。
你確定所有這些都在用戶模式'$ fillable'? – upful
首先檢查數據是否有'dd($ data)'的ref_id,如果是,那麼檢查referenced_id是否在用戶模型的'$ fillable'中 – Paras
是的,它們是可填充的。這就是數組看起來像protected $ fillable ='first_name','last_name','email','account_name','account_number','bank_name','referenced_by','用戶名','phone_number','密碼', ]; @upful –