$categoryTableName = Category::tableName();
$productTableName = Product::tableName();
Category::find()
->select([
$categoryTableName.'id',
$categoryTableName.'name',
'product' => new Expression("SELECT {$productTableName}.name FROM {$productTableName} WHERE {$productTableName}.category_id = {$categoryTableName}.id LIMIT 1")
])
->asArray()
->all();
Либо
'class' => 'PositionColumn',
, в которомfunction renderDataCellContent