如何在 Yii2 活动记录中的关系上获取 DISTINCT 行
How to get DISTINCT rows on a relation in Yii2 Active record
我有一个 AieDetail 模型如下:
class AieDetail extends \yii\db\ActiveRecord
{
public function getDepts()
{
return $this->hasOne(Department::className(), ['DEPT_CODE' => 'DEPT_CODE']);
}
}
我有这个查询要用于部门 table
上的 select 不同的 COL_ABBREV 列
$aie_detail = AieDetail::find()->alias('AD')
->select(['DEPT.COL_ABBREV'])
->joinWith(['depts DEPT'])
->where(['not',['DEPT.COL_ABBREV' => ['CA']]])
->distinct()
->all();
return $aie_detail;
$aie_detail的值是查询而不是数据数组。获取行的正确方法是什么?
$aie_detail = AieDetail::find()->alias('AD')
->select('Department.COL_ABBREV')
->joinWith(['depts'])
->where(['not','Department.COL_ABBREV', 'CA'])
->distinct()
->all();
使用“.”时必须输入实际的 table 名称在查询中选择列的运算符。
$aie_detail = AieDetail::find()
->select([Department::tableName() . '.COL_ABBREV'])
->joinWith('depts')
->where([
'!=',
Department::tableName() . '.COL_ABBREV',
'CA'
])
->distinct()
->asArray()
->all();
如果您有任何未定义的索引错误,包括在与 select 语句的关系中使用的外键,或使用 leftJoin() 方法而不是 joinWith()。
如果您想要select更多数据并且基于单列不同,则添加 groupBy() 并使用具有不同列的参数
我有一个 AieDetail 模型如下:
class AieDetail extends \yii\db\ActiveRecord
{
public function getDepts()
{
return $this->hasOne(Department::className(), ['DEPT_CODE' => 'DEPT_CODE']);
}
}
我有这个查询要用于部门 table
上的 select 不同的 COL_ABBREV 列 $aie_detail = AieDetail::find()->alias('AD')
->select(['DEPT.COL_ABBREV'])
->joinWith(['depts DEPT'])
->where(['not',['DEPT.COL_ABBREV' => ['CA']]])
->distinct()
->all();
return $aie_detail;
$aie_detail的值是查询而不是数据数组。获取行的正确方法是什么?
$aie_detail = AieDetail::find()->alias('AD')
->select('Department.COL_ABBREV')
->joinWith(['depts'])
->where(['not','Department.COL_ABBREV', 'CA'])
->distinct()
->all();
使用“.”时必须输入实际的 table 名称在查询中选择列的运算符。
$aie_detail = AieDetail::find()
->select([Department::tableName() . '.COL_ABBREV'])
->joinWith('depts')
->where([
'!=',
Department::tableName() . '.COL_ABBREV',
'CA'
])
->distinct()
->asArray()
->all();
如果您有任何未定义的索引错误,包括在与 select 语句的关系中使用的外键,或使用 leftJoin() 方法而不是 joinWith()。
如果您想要select更多数据并且基于单列不同,则添加 groupBy() 并使用具有不同列的参数