Проблема с ApiPlatform SearchFilter, возвращающим все результаты - PullRequest
0 голосов
/ 27 мая 2020
 * @ApiFilter(SearchFilter::class, properties={"serial": "partial"})

У меня есть следующие данные о продуктах. Проблема в том, что когда я вызываю API с помощью? Serial =, он возвращает ВСЕ элементы в БД, очевидно, должен был быть возвращен только один

EDIT: это вызвано использованием настраиваемого контроллера для метода GET. Похоже, требуется рефакторинг.

 *      collectionOperations={
 *          "get"={
 *              "controller"=DeviceGetCollectionController::class,
 *          },

Обходит searchFilter

1 Ответ

0 голосов
/ 27 мая 2020

Решением было добавить проверку в кастомный контроллер:

    if($request->get('serial')){
        return $query->findBy(['company' => $user->getCompany(),'serial'=>$request->get('serial')]);
    }
...