1

这是我的 RegisterController(Laravel ui 编辑)。请帮我。我是否必须在此问题中添加任何其他页面。

protected function validator(array $data)
{
    return Validator::make($data, [
        'name' => ['required', 'string', 'max:255'],
        'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
        'password' => ['required', 'string', 'min:8', 'confirmed'],
    ]);
}

/**
 * Create a new user instance after a valid registration.
 *
 * @param  array  $data
 * @return \App\Models\User
 */
protected function create(array $data)
{
    return User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => Hash::make($data['password']),
        'name_of_firm' => $data['name_of_firm'],
        'number' => $data['number'],
        'address' => $data['address'],
    ]);
}

在此处输入图像描述

4

2 回答 2

0

您应该使用data_getArr::get()帮助解决不存在的元素:

/**
 * Create a new user instance after a valid registration.
 *
 * @param  array  $data
 * @return \App\Models\User
 */
protected function create(array $data)
{
    return User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => Hash::make($data['password']),
        'name_of_firm' => data_get($data, 'name_of_firm'),
        'number' => data_get($data, 'number'),
        'address' => data_get($data, 'address')],
    ]);
}
于 2021-05-25T04:02:52.123 回答
0

name_of_firm如果可以为空或需要,则有 2 种情况

情况1

如果name_of_firm需要

protected function validator(array $data)
{
    return Validator::make($data, [
        'name' => ['required', 'string', 'max:255'],
        'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
        'password' => ['required', 'string', 'min:8', 'confirmed'],
        'name_of_firm' => ['required']
    ]);
}


/**
 * Create a new user instance after a valid registration.
 *
 * @param  array  $data
 * @return \App\Models\User
 */
protected function create(array $data)
{
    return User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => Hash::make($data['password']),
        'name_of_firm' => $data['name_of_firm'],
        'number' => $data['number'],
        'address' => $data['address'],
    ]);
}

案例:2

如果name_of_firm可以为空

protected function validator(array $data)
{
    return Validator::make($data, [
        'name' => ['required', 'string', 'max:255'],
        'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
        'password' => ['required', 'string', 'min:8', 'confirmed'],
    ]);
}


/**
 * Create a new user instance after a valid registration.
 *
 * @param  array  $data
 * @return \App\Models\User
 */
protected function create(array $data)
{
    return User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => Hash::make($data['password']),
        'name_of_firm' => $data['name_of_firm'] ?? null, // make sure database is accept null value
        'number' => $data['number'],
        'address' => $data['address'],
    ]);
}
于 2021-05-25T04:25:04.943 回答