вот код:
$query = Product::find()->joinWith('salonProduct')->select([
'*',
new \yii\db\Expression('IF(salon_product.id IS NULL, 1, 0) AS salon_product_id')
]);
$dataProvider = new ActiveDataProvider([
'query' => $query,
'pagination' => [
'pageSize' => 24,
],
'sort' => [
'defaultOrder' => [
'salon_product_id' => SORT_ASC
]
],
]);
связь
public function getSalonProduct(){
return $this->hasOne(SalonProduct::className(),['product_id'=>'id']);
}
ошибка:
PHP Warning – yii\base\ErrorException
Invalid argument supplied for foreach() конкретно тут: foreach ($columns as $name => $dir)
public function getOrders($recalculate = false)
{
$attributeOrders = $this->getAttributeOrders($recalculate);
$orders = [];
foreach ($attributeOrders as $attribute => $direction) {
$definition = $this->attributes[$attribute];
$columns = $definition[$direction === SORT_ASC ? 'asc' : 'desc'];
foreach ($columns as $name => $dir) {
$orders[$name] = $dir;
}
}
return $orders;
}