Completed
Pull Request — dev (#67)
by
unknown
01:52
created

getSortColumns()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
/**
4
 * @package toolkit
5
 */
6
/**
7
 * Specialized EntryQueryFieldAdapter that facilitate creation of queries filtering/sorting data from
8
 * an entryrelationship Field.
9
 * @see FieldTextarea
10
 * @since Symphony 3.0.0
11
 */
12
class EntryQueryEntryrelationshipAdapter extends EntryQueryFieldAdapter
13
{
14
    public function createFilterIncludes($filter, array $columns)
15
    {
16
        $field_id = General::intval($this->field->get('id'));
17
        $filter = $this->field->cleanValue($filter);
18
19
        $conditions = $this->field->generateWhereFilter($filter, 'f' . $field_id);
20
        // foreach ($columns as $key => $col) {
21
        //     $conditions[] = [$this->formatColumn($col, $field_id) => [$op => $filter]];
22
        // }
23
        // if (count($conditions) < 2) {
24
        //     return $conditions;
25
        // }
26
        return $conditions;
27
    }
28
29
    /**
30
     * @see EntryQueryFieldAdapter::filterSingle()
31
     *
32
     * @param EntryQuery $query
33
     * @param string $filter
34
     * @return array
35
     */
36
    protected function filterSingle(EntryQuery $query, $filter)
37
    {
38
        General::ensureType([
39
            'filter' => ['var' => $filter, 'type' => 'string'],
40
        ]);
41
        if ($this->isFilterRegex($filter)) {
42
            return $this->createFilterRegexp($filter, $this->getFilterColumns());
43
        }
44
45
        // elseif ($this->isFilterSQL($filter)) {
46
        //     return $this->createFilterSQL($filter, $this->getFilterColumns());
47
        // } elseif ($this->isFilterBoolean($filter)) {
48
        //     return $this->createFilterBoolean($filter, $this->getFilterColumns());
49
        // } elseif ($this->isFilterContains($filter)) {
50
        //     return $this->createFilterContains($filter, $this->getFilterColumns());
51
        // } elseif ($this->isFilterHandle($filter)) {
52
        //     return $this->createFilterHandle($filter, $this->getFilterColumns());
53
        // }
54
        return $this->createFilterIncludes($filter, $this->getFilterColumns());
55
    }
56
57
    public function getFilterColumns()
58
    {
59
        return ['entries'];
60
    }
61
62
    public function getSortColumns()
63
    {
64
        return ['entries'];
65
    }
66
}
67