Yii v2 snippet guide II

Comparing #45 with #46

Revision #46 was created by rackycz rackycz on Oct 5, 2020, 8:13:16 PM.

Search sort related column

Content

[...]
[['items'], 'integer'],
];
}
```

Into method search() add
HAVING condition if you want to filter by amount or items: ```php if (trim($this->amount)!=='') { $query->andHavingFilterWhere([
'amount' => $this->amount
]);
[...]
// ...

    // You must use joinWith() in order to have both tables in one JOIN - then you can call WHERE and ORDER BY on the 2nd table. 
 
    // Explanation here:
 
    // https://stackoverflow.com/questions/25600048/what-is-the-difference-between-with-and-joinwith-in-yii2-and-when-to-use-them
 
    
 
    $query = Invoice::find()->joinWith('company');
 
 
// Appending new sortable column:
$sort = $dataProvider->getSort();
$sort->attributes['company_name'] = [
[...]
if (trim($this->company_name)!=='') {
$query->and
HavingFilterWhere(['like', 'table.column', $this->company_name]); } ```