как использовать одну форму для пользователя и администратора, но скрыть один элемент управления от пользователя? - PullRequest
0 голосов
/ 09 октября 2019

Я пытаюсь использовать одну и ту же форму для пользователя и администратора в laravel 5.8 и хочу скрыть кнопку загрузки изображения от пользователя.

Я пробовал этот код, но не работал:

 @if (Str_contains(request()->route()->uri(),'admin'))
            <div class="upload-btn-wrapper">
                <a class="btn-file">upload_image</a>
                <input type="file" name="image_name" />
            </div>
 @endif

это мой маршрут:

Route::group(['middleware' => ['auth']], function () {

    Route::resource('members','MembersController')->except(['create']);



});

Миграция пользователей:

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

Ответы [ 2 ]

0 голосов
/ 09 октября 2019

Добавьте это в свой create_users_table_migration

$table->integer('is_admin')->nullable()->default(0); //zero in the db column means the user is not an admin

Я предполагаю, что вы хотите проверить, является ли пользователь, прошедший проверку подлинности, администратором из вашего файла view.blade.php. Если это так, вы можете сделать что-то вроде этого

@if(auth()->user()->is_admin)
            <div class="upload-btn-wrapper">
                <a class="btn-file">upload_image</a>
                <input type="file" name="image_name" />
            </div>
 @endif
0 голосов
/ 09 октября 2019

Вы можете использовать что-то вроде этого:

@if(auth()->user()->role == 'admin')
 .. 
  ...

или

@if(Auth::user()->role/id/name/etc.. == 'admin')
 do something ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...