Таблица разных типов пользователей laravel - PullRequest
0 голосов
/ 16 февраля 2020

У меня проблема с моим проектом в моей пользовательской таблице. Я использую тип пользователя, в котором есть администратор ученика, и я хочу, чтобы у них была отдельная таблица без использования красноречивого простого запроса / кода или простого учебника, чтобы помочь моя проблема ..

контроллер

public function index()
{
    $users = User::find();
    return view('teacherpage.teacher_table',  compact('users'));
}

teacher_table

 @foreach ($users as $position)


                <tbody>
                    <tr>
                        <td>{{ $position->id}}</td>
                        <td>{{ $position->first_name}}</td>
                        <td>{{ $position->last_name}}</td>
                        <td>{{ $position->contact}}</td>
                        <td>{{ $position->department}}</td>


                        <td>{{ $position->usertype}}</td>


                        <td>{{ $position->email}}</td>


                        <th> 
                            <a href="{{action('AdminTableController@edit',['id' =>$position->id])}}" class="btn btn-success">Edit </a>
                    </th>


                            </tr>
                        </tbody>
                        @endforeach

** Я хочу просмотреть тип студента, который я не знаю, пожалуйста, помогите мне **

1 Ответ

0 голосов
/ 16 февраля 2020

Добавление дополнительной модели позволяет назначать тип / роль пользователю. Начните с создания модели 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'));
}
...