Laravel laravel用户将字段添加到CRUD表单

时间:2019-02-24 14:08:53

标签: php laravel laravel-5 user-management

我正在使用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处理的,它是程序包本身的一部分。我该如何覆盖它,以便可以存储已添加的新字段?

1 个答案:

答案 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

希望这会有所帮助