Смотрел видеоурок Laravel 9 и Vue 3 SPA интернет магазин 7. CRUD по пользователям с 9:00-10:50. Получаю следующую ошибку
Привожу код
laravelvue3shop\app\Models\User.php
<?php
namespace App\Models;
// use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
use HasApiTokens, HasFactory, Notifiable;
const GENDER_MALE=1;
const GENDER_FEMALE=2;
protected $table='users';
protected $guarded=false;
static function getGenders() {
return [
self::GENDER_MALE => 'Мужской',
self::GENDER_FEMALE => 'Женский'
];
}
public function getGenderTitleAttribute() {
return self::getGenders()[$this->gender];
}
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'name',
'email',
'password',
];
/**
* The attributes that should be hidden for serialization.
*
* @var array<int, string>
*/
protected $hidden = [
'password',
'remember_token',
];
/**
* The attributes that should be cast.
*
* @var array<string, string>
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
}
laravelvue3shop\database\migrations\2022_09_07_084830_add_surname_patronymic_age_address_gender_to_users_table.php
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string('surname')->nullable();
$table->string('patronymic')->nullable();
$table->integer('age')->nullable();
$table->string('address')->nullable();
$table->unsignedSmallInteger('gender')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn('gender');
$table->dropColumn('address');
$table->dropColumn('age');
$table->dropColumn('patronymic');
$table->dropColumn('surname');
});
}
};
laravelvue3shop/resources/views/user/create.blade.php
@extends('layouts.main')
@section('content')
<!-- Content Header (Page header) -->
<div class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<h1 class="m-0">Добавить пользователя</h1>
</div><!-- /.col -->
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item active">Главная</li>
</ol>
</div><!-- /.col -->
</div><!-- /.row -->
</div><!-- /.container-fluid -->
</div>
<!-- /.content-header -->
<!-- Main content -->
<section class="content">
<div class="container-fluid">
<!-- Small boxes (Stat box) -->
<div class="row">
<form action="{{ route('user.store') }}" method="post">
@csrf
<div class="form-group">
<input type="text" value="{{ old("name") }}" name="name" class="form-control" placeholder="Имя">
</div>
<div class="form-group">
<input type="email" value="{{ old("email") }}" name="email" class="form-control" placeholder="Email">
</div>
<div class="form-group">
<input type="text" value="{{ old("password") }}" name="password" class="form-control" placeholder="Пароль">
</div>
<div class="form-group">
<input type="text" value="{{ old("password_confirmation") }}" name="password_confirmation" class="form-control" placeholder="Подтверждение пароля">
</div>
<div class="form-group">
<input type="text" value="{{ old("surname") }}" name="surname" class="form-control" placeholder="Фамилия">
</div>
<div class="form-group">
<input type="text" value="{{ old("patronymic") }}" name="patronymic" class="form-control" placeholder="Отчество">
</div>
<div class="form-group">
<input type="text" value="{{ old("age") }}" name="age" class="form-control" placeholder="Возраст">
</div>
<div class="form-group">
<input type="text" value="{{ old("address") }}" name="address" class="form-control" placeholder="Адрес">
</div>
<div class="form-group">
<select name="gender" class="custom-select form-control" id="exampleSelectBorder">
<option disabled selected>Пол</option>
<option {{ old('gender') == 1 ? ' selected' : '' }} value="1">Мужской</option>
<option {{ old('gender') == 2 ? ' selected' : '' }} value="2">Женский</option>
</select>
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Добавить">
</div>
</form>
</div>
<!-- /.row -->
</div><!-- /.container-fluid -->
</section>
<!-- /.content -->
@endsection
laravelvue3shop/resources/views/user/edit.blade.php
@extends('layouts.main')
@section('content')
<!-- Content Header (Page header) -->
<div class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<h1 class="m-0">Редактировать пользователя</h1>
</div><!-- /.col -->
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item active">Главная</li>
</ol>
</div><!-- /.col -->
</div><!-- /.row -->
</div><!-- /.container-fluid -->
</div>
<!-- /.content-header -->
<!-- Main content -->
<section class="content">
<div class="container-fluid">
<!-- Small boxes (Stat box) -->
<div class="row">
<form action="{{ route('user.update', $user->id) }}" method="post">
@csrf
@method('patch')
<div class="form-group">
<input type="text" value="{{ $user->name ?? old("name") }}" name="name" class="form-control" placeholder="Имя">
</div>
<div class="form-group">
<input type="text" value="{{ $user->surname ?? old("surname") }}" name="surname" class="form-control" placeholder="Фамилия">
</div>
<div class="form-group">
<input type="text" value="{{ $user->patronymic ?? old("patronymic") }}" name="patronymic" class="form-control" placeholder="Отчество">
</div>
<div class="form-group">
<input type="text" value="{{ $user->age ?? old("age") }}" name="age" class="form-control" placeholder="Возраст">
</div>
<div class="form-group">
<input type="text" value="{{ $user->address ?? old("address") }}" name="address" class="form-control" placeholder="Адрес">
</div>
<div class="form-group">
<select name="gender" class="custom-select form-control" id="exampleSelectBorder">
<option disabled selected>Пол</option>
<option {{ $user->gender == 1 || old('gender') == 1 ? ' selected' : '' }} value="1">Мужской</option>
<option {{ $user->gender == 2 || old('gender') == 2 ? ' selected' : '' }} value="2">Женский</option>
</select>
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Добавить">
</div>
</form>
</div>
<!-- /.row -->
</div><!-- /.container-fluid -->
</section>
<!-- /.content -->
@endsection
Подскажите, в чем ошибка в обращении к $this->gender.


laravelvue3shop/resources/views/user/create.blade.phpв select-е. Оно не пустое. – vladwebsearch Sep 11 '22 at 06:45<option disabled selected>Пол</option>что будет в переменной? какое значение? – Алексей Шиманский Sep 11 '22 at 06:57