laravel -admin.org админ-панель, как получать пользователей через раскрывающееся меню и искать пользователей - PullRequest
0 голосов
/ 08 июля 2020

Я установил laravel -admin.org , а затем в панели администратора моя форма по умолчанию следующая:

введите описание изображения здесь

это мой Контроллер отдела: в / admin / folder:

У меня есть методы

один для просмотра сетки:

/**
 * Make a grid builder.
 *
 * @return Grid
 */
protected function grid()
{
    $grid = new Grid(new Department());

    $grid->column('id', __('Id'));
    $grid->column('name', __('Name'));
    // $grid->column('owner_id', __('Owner id'));
    
    $grid->owner_id(__('models.name_of_user'))->display(function ($owner_id) {
        return ($owner_id ? User::find($owner_id)->name : null);
    });

    $grid->column('group_id', __('Group id'));
    $grid->column('limit', __('Limit'));
    $grid->column('created_at', __('Created at'));
    $grid->column('updated_at', __('Updated at'));

    return $grid;
}

один для подробного просмотра:

/**
 * Make a show builder.
 *
 * @param mixed $id
 * @return Show
 */
protected function detail($id)
{
    $show = new Show(Department::findOrFail($id));

    $show->field('id', __('Id'));
    $show->field('name', __('Name'));
    $show->field('owner_id', __('Owner id'));
    $show->field('group_id', __('Group id'));
    $show->field('limit', __('Limit'));
    $show->field('created_at', __('Created at'));
    $show->field('updated_at', __('Updated at'));

    return $show;
}

и один для просмотра формы для редактирования:

/**
 * Make a form builder.
 *
 * @return Form
 */
protected function form()
{
    $form = new Form(new Department());
    $form->text('name', __('Name'));
    $form->number('owner_id', __('Owner id'));
    $form->number('group_id', __('Group id'));
    $form->number('limit', __('Limit'));

    return $form;
}

Как я могу заменить раскрывающееся меню для поиска пользователей из модели пользователей ?

Как мне выполнить поиск в этом раскрывающемся меню, чтобы я мог искать и фильтровать моих пользователей по их электронной почте?

1 Ответ

0 голосов
/ 08 июля 2020

введите описание изображения здесь

в вашей форме:

    $form->select('owner_id', __('models.name_of_user'))->options(User::all()->pluck('name', 'id'));

в вашей детали:

    $users = User::all()->toArray();
    $usersArray = [];
    foreach ($users as $item) {
        $usersArray[$item['id']] = $item['name'];
    }
    $show->owner_id(__('models.name_of_user'))->using($usersArray);

в вашей сетке:

    $grid->owner_id(__('models.name_of_user'))->display(function ($owner_id) {
        return ($owner_id ? User::find($owner_id)->name : null);
    });
...