I am new to Laravel. I literally had to learn it last night. I implemented the Default Registration Form. I appended my own field and data and all is working fine. Now I'm having a challenge of passing a value from a hidden field in my RegistrationView to my RegisterController so it can be saved in the database. Basically I have two Registration Views of which that hidden field value will identify which registration Form it is
---This my RegisterController---
<?php
namespace revolutions\Http\Controllers\Auth;
use revolutions\User;
use Validator;
use revolutions\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\RegistersUsers;
use Mail;
use Input;
use revolutions\Http\Controllers\SmsController;
class RegisterController extends Controller
{
/*
|--------------------------------------------------------------------------
| Register Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users as well as their
| validation and creation. By default this controller uses a trait to
| provide this functionality without requiring any additional code.
|
*/
use RegistersUsers;
/**
* Where to redirect users after login / registration.
*
* @var string
*/
protected $redirectTo = '/success';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
//Random number Generating Function
public function generatePin( $number ) {
// Generate set of alpha characters
$alpha = array();
for ($u = 65; $u <= 90; $u++) {
// Uppercase Char
array_push($alpha, chr($u));
}
// Just in case you need lower case
// for ($l = 97; $l <= 122; $l++) {
// // Lowercase Char
// array_push($alpha, chr($l));
// }
// Get random alpha character
$rand_alpha_key = array_rand($alpha);
$rand_alpha = $alpha[$rand_alpha_key];
// Add the other missing integers
$rand = array($rand_alpha);
for ($c = 0; $c < $number - 1; $c++) {
array_push($rand, mt_rand(0, 9));
shuffle($rand);
}
return implode('', $rand);
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'surname' => 'required|max:255',
'cellphone' => 'required|max:10',
'address' => 'required|max:100',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
'bankname' => 'required|max:100',
'accountnumber'=>'required|max:100',
'holdername' => 'required|max:100',
'branchcode' => 'required|max:10',
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
*/
protected function create(array $data)
{
$user = User::create([
'reference_number' => $this->generatePin(13),
'name' => $data['name'],
'surname' => $data['surname'],
'cellphone' => $data['cellphone'],
'address' => $data['address'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
'bankname' => $data['bankname'],
'accountnumber' => $data['accountnumber'],
'holdername' => $data['holdername'],
'branchcode' => $data['branchcode'],
'package'=>'bronze',
]);
Mail::send('mail.registeremail', $data, function($message) use ($data)
{
$message->from('admin@revo-lutions.com', "Revolutions");
$message->subject("Welcome to Revolutions");
$message->to($data['email']);
});
$mesg = "Welcome to Revolutions.Reference Number" . $this->generatePin(13);
$sms = new SmsController();
$sms->sendSms($data['cellphone'],$mesg);
return $user;
}
}
Now, the value I'm passing is to be binded to the 'package' column under my create query build. Thank you in advance.