Fitur Relasi Active Record dalam Yii Framework (Bagian 3)
December 21st, 2011, Written by: | Categories: Programming, Yii Framework

Kegunaan self::STAT sangat sederhana. Segala sesuatu yang berhubungan dengan statistik atau perhitungan dan menyangkut Active Record lain, maka kita menggunakan fitur relasi self::STAT ini. Misalnya, kita ingin mengetahui seorang user sudah mengarang berapa buku. Sebuah jurusan terdapat berapa mahasiswa. Atau berapa total uang dalam sebuah nota.

Biasanya self::STAT hanya berguna apabila relasi tersebut adalah ONE to MANY.

Berikut merupakan contoh seorang pengarang sudah mengarang berapa buku. Misalkan terdapat dua buah tabel. Tabel Pengarang dan tabel Buku. Tabel Buku memiliki field bernama “pengarang_id” yang merujuk ke tabel Pengarang. Berikut merupakan contoh codenya untuk menghubungkannya:

        //di dalam file Pengarang.php
        public function relations()
	{
		return array(
			'numBuku'=>array(self::STAT, 'Buku','pengarang_id'),
		);
	}

Pada dasarnya self::STAT hanya mengurus pada menghitung atau sintaks COUNT dalam SQL. Terkadang kita juga butuh perhitungan selain COUNT misalnya total(SUM), rata-rata(AVG) dan lain-lain. Untuk memecahkan masalah ini cukup tambahkan satu parameter lagi, yaitu “select”.

Misalkan di tabel Buku terdapat field “sales” yang menunjukkan berapa jumlah penjualan buku tersebut. Kita ingin tahu berapa total keseluruhan buku karangan pengarang yang telah terjual. Berikut contohnya:

        return array(
	    'totalSelling'=>array(self::STAT, 'Buku','pengarang_id', 'select'=> 'SUM(sales)'),
	);

Demikianlah penggunaan self::STAT sekaligus menutup topik relasi dalam Active Record di Yii Framework.

More about: ,

Leave a Reply