我正在使用laravel-users包向我的Laravel 5.7应用程序添加用户管理功能,但是我在努力寻找如何向用户创建/用户编辑表单添加其他字段,以使其与我的用户表匹配的方法模式。
用户表定义:
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->string('phone_number', 13);
$table->boolean('is_super_admin')->default(false);
$table->rememberToken();
$table->timestamps();
});
具体来说,我想将phone_number字段添加到表单中。我已经更新了刀片模板,在该字段的标记中添加了
<div class="form-group has-feedback row {{ $errors->has('phone_number') ? ' has-error ' : '' }}">
@if(config('laravelusers.fontAwesomeEnabled'))
{!! Form::label('phone_number', __('auth.phone_number'), array('class' => 'col-md-3 control-label')); !!}
@endif
<div class="col-md-9">
<div class="input-group">
{!! Form::text('phone_number', NULL, array('id' => 'phone_number', 'class' => 'form-control', 'placeholder' => __('auth.phone_number'))) !!}
<div class="input-group-append">
<label class="input-group-text" for="phone_number">
@if(config('laravelusers.fontAwesomeEnabled'))
<i class="fa fa-fw {!! __('laravelusers::forms.create_user_icon_username') !!}" aria-hidden="true"></i>
@else
{!! __('auth.phone_number') !!}
@endif
</label>
</div>
</div>
@if ($errors->has('phone_number'))
<span class="help-block">
<strong>{{ $errors->first('phone_number') }}</strong>
</span>
@endif
</div>
</div>
但是,似乎用户的实际创建是由UsersManagementController
处理的,它是程序包本身的一部分。我该如何覆盖它,以便可以存储已添加的新字段?
答案 0 :(得分:0)
这里没有详细阅读完整的解释(因为我目前在本网站上的声誉不高,只能发表一些评论以澄清问题,而不是尝试答案...) 这是一些建议;)
您可能需要进入 UsersManagementController 并编辑更新功能,以保存新添加的字段“ phone_number”。
您的控制器很可能位于:
app / Http / Controllers / UsersManagementController.php
您需要编辑的功能将如下所示
public function update(Request $request, $id) {
// Find the User that needs to be updated
$user = Post::find($id);
$user->phone_number = $request->input('phone_number');
//... some more code here
$user->save();
return //whatever is returned here... potentially redirected
}
要查找所有路由列表,以防出现此问题,并连续调整表单发布以将数据提交给正确的控制器(这将列出您当前管理的所有路由):
php artisan route:list
如果没有控制器,则应创建一个控制器,并确保将其添加到:
routes / web.php
希望这会有所帮助