fix: [component:CRUDComponent] Take data linked to the current table
Performs a query similar to a right join instead of dumping the table for composed contextual filterspull/37/head
parent
93f1467d5e
commit
6685838308
|
@ -394,8 +394,13 @@ class CRUDComponent extends Component
|
||||||
foreach ($contextFilters['fields'] as $field) {
|
foreach ($contextFilters['fields'] as $field) {
|
||||||
$contextsFromField = $this->getFilteringContextFromField($field);
|
$contextsFromField = $this->getFilteringContextFromField($field);
|
||||||
foreach ($contextsFromField as $contextFromField) {
|
foreach ($contextsFromField as $contextFromField) {
|
||||||
|
if (is_bool($contextFromField)) {
|
||||||
|
$contextFromFieldText = sprintf('%s: %s', $field, $contextFromField ? 'true' : 'false');
|
||||||
|
} else {
|
||||||
|
$contextFromFieldText = $contextFromField;
|
||||||
|
}
|
||||||
$filteringContexts[] = [
|
$filteringContexts[] = [
|
||||||
'label' => Inflector::humanize($contextFromField),
|
'label' => Inflector::humanize($contextFromFieldText),
|
||||||
'filterCondition' => [
|
'filterCondition' => [
|
||||||
$field => $contextFromField
|
$field => $contextFromField
|
||||||
]
|
]
|
||||||
|
@ -496,9 +501,9 @@ class CRUDComponent extends Component
|
||||||
if (count($exploded) > 1) {
|
if (count($exploded) > 1) {
|
||||||
$model = $exploded[0];
|
$model = $exploded[0];
|
||||||
$subField = $exploded[1];
|
$subField = $exploded[1];
|
||||||
return $this->Table->{$model}->find()
|
$fieldToExtract = sprintf('%s.%s', Inflector::singularize(strtolower($model)), $subField);
|
||||||
->distinct([$subField])
|
$query = $this->Table->find()->contain($model)->distinct($field);
|
||||||
->extract($subField)->toList();
|
return $query->all()->extract($fieldToExtract)->toList();
|
||||||
} else {
|
} else {
|
||||||
return $this->Table->find()->distinct([$field])->all()->extract($field)->toList();
|
return $this->Table->find()->distinct([$field])->all()->extract($field)->toList();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue