From 11c710775b098586510bf4840e0cf224f5bae51b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Alfaiate?= Date: Tue, 22 Apr 2025 13:26:05 +0700 Subject: [PATCH] feat: add relation resolver param to filter callbacks --- src/EloquentDataTable.php | 3 +-- src/QueryDataTable.php | 6 +++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/EloquentDataTable.php b/src/EloquentDataTable.php index edcb9294..36495c52 100644 --- a/src/EloquentDataTable.php +++ b/src/EloquentDataTable.php @@ -155,8 +155,7 @@ protected function isMorphRelation($relation) } /** - * Resolve the proper column name be used. - * + * {@inheritDoc} * * @throws \Yajra\DataTables\Exceptions\Exception */ diff --git a/src/QueryDataTable.php b/src/QueryDataTable.php index 09d4fa46..9c1eefe9 100644 --- a/src/QueryDataTable.php +++ b/src/QueryDataTable.php @@ -350,7 +350,7 @@ protected function applyFilterColumn($query, string $columnName, string $keyword $builder = $this->query->newQuery(); } - $callback($builder, $keyword); + $callback($builder, $keyword, fn ($column) => $this->resolveRelationColumn($column)); /** @var \Illuminate\Database\Query\Builder $baseQueryBuilder */ $baseQueryBuilder = $this->getBaseQueryBuilder($builder); @@ -384,7 +384,7 @@ public function getQuery(): QueryBuilder } /** - * Resolve the proper column name be used. + * Resolve the proper column name to be used. */ protected function resolveRelationColumn(string $column): string { @@ -646,7 +646,7 @@ protected function searchPanesSearch(): void */ protected function resolveCallbackParameter(): array { - return [$this->query, $this->scoutSearched]; + return [$this->query, $this->scoutSearched, fn ($column) => $this->resolveRelationColumn($column)]; } /**