LARAVEL:ADDING CUSTOM FIELD BY EDITING THE EXISTING MIGRATION: CREATE_USERS_TABLE.PHP
This is followed in the case where all the data entries stored in the database table to be deleted and once more set up table incorporating new fields.
STEP:1 CREATING A NEW FIELD IN DATABASE
edit the preferred migration from database/migration: create_users_table.php
Find and add $table->integer(‘age’); in Schema
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->integer('age');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
Now after making changes in migration you have to run it using
$ php artisan migrate:refresh
Now refresh the database users table in PHPMyAdmin to reflect the change.
All the data are flushed and a new field age is also added to the existing field.
STEP:2 ADDING FIELD IN VIEW PAGE
edit register.blade.php from resources/views/auth
nb: put appropriate html tags for div, here purposefully removed to display it
div class="form-group{{ $errors->has('age') ? ' has-error' : '' }}" <label for="name" class="col-md-4 control-label">Age</label> div class="col-md-6" <input id="age" type="number" min="1" max="120" class="form-control" name="age" value="{{ old('age') }}" autofocus> @if ($errors->has('age')) <span class="help-block"> <strong>{{ $errors->first('age') }}</strong> </span> @endif /div /div
STEP 3: ADD VALIDATION AND CREATE THE FIELD IN registerController.php from app/Http/controllers/auth
protected function validator(array $data) { return Validator::make($data, [ 'name' => 'required|string|max:255', 'age' => 'integer|max:20', 'email' => 'required|string|email|max:255|unique:users', 'password' => 'required|string|min:6|confirmed', ]); ........ protected function create(array $data) { return User::create([ 'name' => $data['name'], 'age' => $data['age'], 'email' => $data['email'], 'password' => bcrypt($data['password']), ]); }
STEP 4: Update user.php from app/user.php
protected $fillable = [
'name','age', 'email', 'password',
];
Now try to register and check the database to see the result
Post a Comment