亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Laravel 中,單選值列在數據庫中為空

在 Laravel 中,單選值列在數據庫中為空

PHP
BIG陽 2022-12-23 12:24:51
我的 Blade 文件有一個用戶表單。我的代碼運行良好,所有值都存儲到數據庫中,除了單選字段和單選列的值到數據庫中說NULL。我閱讀了許多論壇并相應地驗證了我的代碼,但仍然不知道我做錯了什么。刀片.php<div class="form-group row"><label for="user_type" class="col-md-4 col-form-label text-md-right ">{{ __('User Type') }}</label>    <div class="col-md-6">      <label class="radio-inline control-label">      <input id="user_type" value="user" type="radio" class="form-control @error('user_type') is-invalid       @enderror" name="user_type" required autocomplete="user_type">User</label>      <label class="radio-inline control-label">      <input id="user_type" value="company" type="radio" class="form-control @error('user_type') is-       invalid @enderror" name="user_type" required autocomplete="user_type">Comapny</label>        @error('user_type')        <span class="invalid-feedback" role="alert">          <strong>{{ $message }}</strong>        <span>        @enderror   </div></div>注冊控制器.php<?phpnamespace App\Http\Controllers\Auth;use \Illuminate\Http\Request;use App\Http\Controllers\Controller;use App\Providers\RouteServiceProvider;use App\User;use Illuminate\Foundation\Auth\RegistersUsers;use Illuminate\Support\Facades\Hash;use Illuminate\Support\Facades\Validator;use Illuminate\Auth\Events\Registered;class RegisterController extends Controller{    protected function validator(array $data)    {        $validator = Validator::make($data, [            'register_name' => ['required', 'string', 'max:8'],            'register_email' => ['required', 'string', 'email', 'max:255', 'unique:users,email'],            'register_password' => ['required', 'string', 'min:8', 'confirmed'],            'user_type'=> ['required','in:user,company'],        ]);        $validator->setAttributeNames([            'register_email' => 'email',            'register_password' => 'password',        ]);        return $validator;    }   
查看完整描述

2 回答

?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

問題是您忘記將 user_type 放入用戶模型的可填充數組中。


將您的代碼更改為以下將起作用。


protected $fillable = [

    'name', 'email', 'password', 'user_type'

];


查看完整回答
反對 回復 2022-12-23
?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

你應該為無線電設置名稱并在控制器中使用:


  <label class="radio-inline control-label">

  <input name="user" id="user_type" value="user" type="radio" class="form-control @error('user_type') is-invalid 

  @enderror" name="user_type" required autocomplete="user_type">User</label>


  <label class="radio-inline control-label">

  <input name="company" id="user_type" value="company" type="radio" class="form-control @error('user_type') is- 

  invalid @enderror" name="user_type" required autocomplete="user_type">Comapny</label>


    @error('user_type')

    <span class="invalid-feedback" role="alert">

      <strong>{{ $message }}</strong>

    </span>

    @enderror

在控制器中:


類 RegisterController 擴展控制器 {


protected function validator(array $data)

{

    $validator = Validator::make($data, [

        'register_name' => ['required', 'string', 'max:8'],

        'register_email' => ['required', 'string', 'email', 'max:255', 'unique:users,email'],

        'register_password' => ['required', 'string', 'min:8', 'confirmed'],

        'user_type' => ['required', 'in:user,company'],


    ]);

    $validator->setAttributeNames([

        'register_email' => 'email',

        'register_password' => 'password',

    ]);


    return $validator;

}


protected function create(array $data)

{

    if ($data['user']) {

        $user = User::create([

            'name' => $data['register_name'],

            'email' => $data['register_email'],

            'password' => Hash::make($data['register_password']),

            'user_type' => $data['user'],


        ]);

    }

    if ($data['company']) {

        $user = User::create([

            'name' => $data['register_name'],

            'email' => $data['register_email'],

            'password' => Hash::make($data['register_password']),

            'user_type' => $data['company'],


        ]);

    }


    $user->sendEmailVerificationNotification();


    return $user;

}


查看完整回答
反對 回復 2022-12-23
  • 2 回答
  • 0 關注
  • 98 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號