пакет omines / datatables не будет искать столбцы даты и времени - PullRequest
0 голосов
/ 02 февраля 2019

Я использую пакет для рендеринга сетки с данными, пакет называется его omines / datatables-bundle.Поиск выполняется правильно для всех полей, за исключением столбца fillAt, который является столбцом DateTimeColumn, этот тип определяется ребятами из Omines.Это код моего действия:

public function index(Request $request, CarRepository $carRepository, DataTableFactory $dataTableFactory)
    {
        $table = $dataTableFactory->create()
            ->add('id', NumberColumn::class, ["orderable" => true, "searchable" => true])
            ->add('carBrand', TextColumn::class, ["field" => "brand.name", "orderable" => true, "label" => "Marca del Carro", "searchable" => true])
            ->add('model', TextColumn::class, ["field" => "car.model", "orderable" => true, "label" => "Modelo del Carro", "searchable" => true])
            ->add("filledAt", DateTimeColumn::class, ["format" => "Y-m-d H:i:s", "searchable" => true, "orderable" => true])
            ->add("fuelFilled", NumberColumn::class, ["render" => "%s L", "searchable" => true])
            ->add("price", NumberColumn::class, ["render" => "%s cuc", "searchable" => true])
            ->add("formerRead", NumberColumn::class, ["searchable" => true])
            ->add("currentRead", NumberColumn::class, ["searchable" => true])
            ->add("mileage", NumberColumn::class, ["searchable" => true])
            ->add('actions', TwigColumn::class, [
                'className' => 'buttons',
                'template' => 'frontend/supervisor/carfill/table-buttons.html.twig',
            ])
            ->addOrderBy('filledAt', DataTable::SORT_DESCENDING)
            ->createAdapter(ORMAdapter::class, [
                "entity" => CarFuelFillRecord::class,
                "query" => function(QueryBuilder $builder){
                    $builder
                        ->from("App:CarFuelFillRecord", "cffr")
                        ->select("cffr, car, brand")
                        ->leftJoin("cffr.car", "car")
                        ->leftJoin("car.brand", "brand")
                    ;
                }
            ])
            ->handleRequest($request);

        if ($table->isCallback()) {
            return $table->getResponse();
        }

        return $this->render('frontend/supervisor/carfill/index.html.twig', [
            'datatable' => $table,
            "cars" => $carRepository->findAll()
        ]);
    }

Это код моего шаблона

<script>
$(function() { $('#carFuelFillRecords').initDataTables({{ datatable_settings(datatable) }},{searching: true}); });
</script>

Что я делаю не так?Большое спасибо заранее

1 Ответ

0 голосов
/ 14 июля 2019

I думаю это связано с разницей между вашим форматом даты и форматом, в котором дата хранится в базе данных.Пакет, кажется, ищет именно введенную строку, которая в вашем случае, вероятно, в формате "Ymd H: i: s", но в базе данных нет.Так что он не находит дату, которую вы ввели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...