Добавление дополнительной модели позволяет назначать тип / роль пользователю. Начните с создания модели Role
:
php artisan make:model Role -m
, а затем отредактируйте следующую миграцию: database/migrations/*_*_creates_roles_table.php
, чтобы использовать следующий метод:
public function up()
{
Schema::create('roles', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->timestamps();
});
Schema::table('users', function (Blueprint $table) {
$table->unsignedBigInteger('role_id')->nullable();
$table->foreign('role_id')->references('id')->on('roles');
});
}
Модель Role
может теперь можно связать с пользователем, добавив отношение к модели пользователя:
приложение / пользователь. php
class User extends Authenticatable
{
use Notifiable;
protected $fillable = [
'name', 'email', 'password',
];
protected $hidden = [
'password', 'remember_token',
];
public function role(){
return $this->hasOne(Role::class);
}
}
после переноса базы данных (php artisan migrate
) можно использовать следующий код:
public function index()
{
$users = User::with('role')->get();
return view('teacherpage.teacher_table', compact('users'));
}