В CakePHP 3.6, Как изменить запрос пользователя для компонента auth? - PullRequest
0 голосов
/ 27 сентября 2018

Для cakephp 3.6, cakephp.org расскажет, как настроить запрос поиска пользователя для компонента auth по следующей ссылке: ссылка Но я не понимаю, как это реализовать?У меня есть столбец "Department_id" в таблице пользователей, которая принадлежит таблице отделов.Я хочу изменить следующий запрос:

public function findAuth(){
    $query
    ->select(['id', 'username', 'password'])->contain(['Departments'])
        ->where(['Users.active' => 1]);
    return $query;
}

Будет ли работать вышеуказанный код?Подскажите пожалуйста, в каком файле я должен написать функцию?И каковы другие необходимые шаги, чтобы сделать это, чтобы я получил всю информацию, относящуюся к пользователю, в $ this-> Auth-> User?

1 Ответ

0 голосов
/ 27 сентября 2018

Во-первых, вам нужно будет загрузить компонент Auth и передать настраиваемую конфигурацию в любой контроллер, для которого вы хотите использовать настраиваемый искатель, например:

public function initialize()
{
    parent::initialize();
    $this->loadComponent('Auth', [
        'authenticate' => [
            'Form' => [
                'finder' => 'auth'
            ]
        ],
    ]);
}

, затем в UsersTable вы быиметь пользовательский поиск:

public function findAuth(\Cake\ORM\Query $query, array $options)
{
    $query
    ->select(['id', 'username', 'password'])->contain(['Departments'])
    ->where(['Users.active' => 1]);

    return $query;
}

Этот ответ также может помочь Содержит таблицы в пользовательском поиске аутентификации

...