问题
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?
回答1:
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.
回答2:
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