1. Menggunakan Class \yii\db\Query
$pagu = (new \yii\db\Query())
->select('
sum(volume*harga) as pagu,
ma.id,
spp.tanggal')
->from('mak_alokasi ma')
->leftJoin('mak_dua mdua', 'mdua.kode=ma.mak_lima_empat_tiga_dua_kode')
->leftJoin('usul_pencairan up', 'up.mak_alokasi_id=ma.id')
->leftJoin('spp', 'spp.id=up.spp_id')
->where(['up.spp_id' => $spp_id])
->andWhere(['ma.unit_kerja_id' => $unitKerja->id])
->groupBy('ma.id')
->createCommand();$total_usul_spp = DataSptjb::find()->joinWith(['usulPencairan'])
->where(['usul_pencairan.spp_id' => $spp_id])
->sum('jumlah');
// Untuk query dalam BENTUK OBJECT
$pagu->fetchMode = PDO::FETCH_OBJ;
// Mengambil HASIL EKSEKUSI QUERY
$listPagu = $pagu->queryAll();
2. Menggunakan ActiveRecord pada Model
// Produk paling banyak dibeli
$mostPopular = Product::find()
->select(['product.*','count(order_item.id) as jumlah_terjual'])
->joinWith(['orderItems'])
->groupBy('product.id')
->createCommand();
$mostPopular->fetchMode = \PDO::FETCH_OBJ;
$mostPopular->queryAll();