I want to create a dropdown list where the data retrieved from the database, ie dropdown level. the value of the dropdown level is taken from the table level.
My register controller is like this :
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use Validator;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\RegistersUsers;
class RegisterController extends Controller
{
use RegistersUsers;
protected $redirectTo = '/home';
public function __construct()
{
$this->middleware('guest');
}
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'username' => 'required|unique:users',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
]);
}
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'username' => $data['username'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
}
My registerusers(vendor) is like this :
<?php
namespace Illuminate\Foundation\Auth;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Auth\Events\Registered;
trait RegistersUsers
{
use RedirectsUsers;
public function showRegistrationForm()
{
return view('auth.register');
}
public function register(Request $request)
{
$this->validator($request->all())->validate();
event(new Registered($user = $this->create($request->all())));
$this->guard()->login($user);
return redirect($this->redirectPath());
}
protected function guard()
{
return Auth::guard();
}
}
My register view is like this :
<form method="post" action="{{ url('/register') }}">
{!! csrf_field() !!}
<div class="form-group has-feedback{{ $errors->has('name') ? ' has-error' : '' }}">
<input type="text" class="form-control" name="name" value="{{ old('name') }}" placeholder="Full Name">
<span class="glyphicon glyphicon-user form-control-feedback"></span>
@if ($errors->has('name'))
<span class="help-block">
<strong>{{ $errors->first('name') }}</strong>
</span>
@endif
</div>
<div class="form-group has-feedback{{ $errors->has('email') ? ' has-error' : '' }}">
<input type="email" class="form-control" name="email" value="{{ old('email') }}" placeholder="Email">
<span class="glyphicon glyphicon-envelope form-control-feedback"></span>
@if ($errors->has('email'))
<span class="help-block">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
<div class="form-group has-feedback{{ $errors->has('password') ? ' has-error' : '' }}">
<input type="password" class="form-control" name="password" placeholder="Password">
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
@if ($errors->has('password'))
<span class="help-block">
<strong>{{ $errors->first('password') }}</strong>
</span>
@endif
</div>
<div class="form-group has-feedback{{ $errors->has('password_confirmation') ? ' has-error' : '' }}">
<input type="password" name="password_confirmation" class="form-control" placeholder="Confirm password">
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
@if ($errors->has('password_confirmation'))
<span class="help-block">
<strong>{{ $errors->first('password_confirmation') }}</strong>
</span>
@endif
</div>
<div class="row">
<div class="col-xs-8">
<div class="checkbox icheck">
<label>
<input type="checkbox"> I agree to the <a href="#">terms</a>
</label>
</div>
</div>
<!-- /.col -->
<div class="col-xs-4">
<button type="submit" class="btn btn-primary btn-block btn-flat">Register</button>
</div>
<!-- /.col -->
</div>
</form>
I get the code : https://github.com/InfyOmLabs/adminlte-generator/tree/5.3
of the code, it appears that a register view in the call of registerusers (vendor)
how to call a table in the database to be stored in variables and sent to view the register?
if I had to edit registerusers (vendor)?
How to?
If I understood you correctly, you need to override showRegistrationForm()
method. So, copy-paste this method from vendor to RegisterController
and work with it there:
public function showRegistrationForm()
{
// Do something here.
return view('auth.register');
}
Also, do not make any changes in vendor
directory.
You should not write any code in vendor's file, rather than you may use service injection or view composers to serve your purpose.
来源:https://stackoverflow.com/questions/41047583/how-to-add-dynamic-dropdown-list-column-on-laravel-5-3-registration