Yii Framework Forum: Belajar AR (Active Record) - Yii Framework Forum

Jump to content

  • (2 Pages)
  • +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

Belajar AR (Active Record) belajar active record yii Rate Topic: ***** 4 Votes

#21 User is offline   rianday 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 26
  • Joined: 16-December 10

Posted 04 January 2011 - 12:35 AM

masta mau tanya dung.. klo relation 3 table itu gimana masta.. ada tutorialnya tak?
0

#22 User is offline   ibiz4 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 151
  • Joined: 26-November 10
  • Location:Indonesia

Posted 04 January 2011 - 01:35 AM

udah ane vote gan. thank untuk tutornya, ane herannya kok baru baca ya ni trit -_-'
WYSIWYG
(What Yii Serve is What You Get)
0

#23 User is offline   -=YiieRz=- 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 177
  • Joined: 27-October 10
  • Location:Jakarta

Posted 05 January 2011 - 03:02 AM

View Postibiz4, on 04 January 2011 - 01:35 AM, said:

udah ane vote gan. thank untuk tutornya, ane herannya kok baru baca ya ni trit -_-'

Thanks gan buat votenya
belajar itu modal utama, tanpa percobaan itu tak akan berhasil. berdoa itu membuat kita percaya diri. YiieRz-SdgBlajar
www.yiiframework.com
0

#24 User is offline   -=YiieRz=- 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 177
  • Joined: 27-October 10
  • Location:Jakarta

Posted 05 January 2011 - 03:24 AM

View Postrianday, on 04 January 2011 - 12:35 AM, said:

masta mau tanya dung.. klo relation 3 table itu gimana masta.. ada tutorialnya tak?


baca aja tutorialnya neh gan
http://yii.googlecod...atabase.arr.txt
belajar itu modal utama, tanpa percobaan itu tak akan berhasil. berdoa itu membuat kita percaya diri. YiieRz-SdgBlajar
www.yiiframework.com
0

#25 User is offline   cahbodho 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 7
  • Joined: 13-December 10

Posted 05 January 2011 - 11:34 PM

wokee tak belajar dulu..., bagus ini
0

#26 User is offline   Adam Endvy 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 18-October 10

Posted 06 January 2011 - 12:09 AM

Gan ada yang punya contoh gak...

menampilkan query hasil INNER JOIN untuk ditampilkan di CHTML::dropdownlist()...\

buat tugas ane neh gan... :D
0

#27 User is offline   rianday 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 26
  • Joined: 16-December 10

Posted 07 January 2011 - 03:00 AM

View PostYiieRz {(~v~)}, on 05 January 2011 - 03:24 AM, said:

baca aja tutorialnya neh gan
http://yii.googlecod...atabase.arr.txt

thanks gan.. ane ke TKP dulu gann..
0

#28 User is offline   ressaince 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 163
  • Joined: 10-January 11
  • Location:Jakarta

Posted 13 January 2011 - 11:16 PM

wah ini bagus mas,lanjutkan yaaaa

udah saya vote,..
kalo bisa bantu saya cara ngesave dari dynamic textfield yang bisa terus nambah kalo diklik addmore
masih bingung cara nyimpennya ke db
take it or leave it
1

#29 User is offline   -=YiieRz=- 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 177
  • Joined: 27-October 10
  • Location:Jakarta

Posted 20 January 2011 - 03:25 AM

View Postressaince, on 13 January 2011 - 11:16 PM, said:

wah ini bagus mas,lanjutkan yaaaa

udah saya vote,..
kalo bisa bantu saya cara ngesave dari dynamic textfield yang bisa terus nambah kalo diklik addmore
masih bingung cara nyimpennya ke db


mungkin hanya perlu manipulasi saja gan, pas di aftersave() langsung direct ke url untuk action add
mahomaho ((^^))
belajar itu modal utama, tanpa percobaan itu tak akan berhasil. berdoa itu membuat kita percaya diri. YiieRz-SdgBlajar
www.yiiframework.com
0

#30 User is offline   awik 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 17
  • Joined: 16-December 08
  • Location:Yogyakarta

Posted 18 May 2011 - 09:13 AM

bagus nih gan..tapi gw masih binun..sama AR.
gw biasa dengan select from
tapi waktu di yii ketemunya akses pake findbypk() dll.

mau bikin login aja binun..dari form > controler > model dst..kok nggak nemu otentifikasi menggunakan select user,pwd from user seperti biasa pake php manual...
kalo bisa sih kasih pencerahannya buat saya sama temen2 yang baru belajar pake framework...TQ
0

#31 User is offline   iwansyah 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 9
  • Joined: 25-July 11

Posted 28 July 2011 - 01:11 AM

keren gan banyak sekali tutorialnya :rolleyes:
pengen banget bisa nguasain semuanya hehehee :D
0

#32 User is offline   arip 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 99
  • Joined: 25-September 11

Posted 27 September 2011 - 09:40 PM

hanya tersenyum :)

nunut vote
0

#33 User is offline   ahmadroni 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 250
  • Joined: 14-June 09
  • Location:Yogyakarta-Indonesia

Posted 29 September 2011 - 10:35 PM

Kalo Koneksi ke MSSQL, giman gan..Ada yang pernah Nyoba ga???
Karena kalo Pake PHP biasa, harus menggunakan ODBC..!
Hospital Cost Management System and
Hospital Management Information System
0

#34 User is offline   kiminomiya 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 16-October 11
  • Location:Bogor

Posted 17 October 2011 - 12:39 AM

misi gan saya mau tnya yang di maksud AR dan CActiveDataProvider apa ya???

klo ar bisa langsung di gunakan di componen ga???
0

#35 User is offline   arip 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 99
  • Joined: 25-September 11

Posted 17 October 2011 - 12:47 AM

saya hanya tahu AR sama dengan table database
0

#36 User is offline   nixnix 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 04-May 11

Posted 17 October 2011 - 09:34 PM

AR = Active Record

Jadi seperti sebuah penyimpanan sementara di memory komputer yang isinya bisa kita gunakan,
seperti : relasi database, condition, attributes dll.

Jadi usahakan kalau pakai framework harus menggunakan AR ini untuk kondisi2 yang standard.
Kalau susah ya terpaksa dah pakai Query Builder.

Minum kopi dulu ah, secangkirsemangat.com (Yii ...)
0

#37 User is offline   awik 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 17
  • Joined: 16-December 08
  • Location:Yogyakarta

Posted 19 November 2012 - 11:31 PM

View Post-=YiieRz=-, on 30 November 2010 - 11:58 PM, said:

Belajar mengenal AR

AR yang dimaksudkan disini bukanlah AR (Account Receivables) namun (Active Record), jadi menurutku seperti rekaman object gitu kali ya, yang nantinya bisa di pergunakan untuk macam-macam kegunaan. maklum ya kalo salah, karena baru belajar juga neh pren.<!--more-->

untuk menghubungkan antara AR dengan database biasanya menggunakan class [CDbConnection] (Yii DAO)
Contoh :
'class'=>'system.db.CDbConnection', // [CActiveRecord::db]

** catatan : ini berlaku untuk default aplikasi kamu. jadi untuk koneksi beberapa database dalam satu penggunaan, maka harus menggunakan cara lain. Menurut yang saya baca2 bisa menggunakan [CActiveRecord::getDbConnection()].

Btw sebelum jauh saya kasih tau apa itu Yii DAO
Yii DAO adalah Data Access Object, fungsinya untuk mengakses DBMS.
Yii DAO terdiri dari empat kelas utama sebagai berikut:
   - [CDbConnection]: mewakili koneksi ke database.
   - [CDbCommand]: mewakili pernyataan SQL untuk dijalankan pada database.
   - [CDbDataReader]: mewakili forward-only stream terhadap baris dari set hasil queri.
   - [CDbTransaction]: mewakili transaksi DB.


Contoh :
$connection=new CDbConnection($dsn,$username,$password);
$connection->active=true; // buka koneksi
$connection->active=false; // tutup koneksi
$sql = "select blablablabaab"; // contoh query sql
$command=$connection->createCommand($sql);
- [execute()|CDbCommand::execute]: melakukan pernyataan SQL non-queri (Cth: Update, Delete, Insert)
- [query()|CDbCommand::query]: melakukan pernyataan SQL yang mengembalikan (Cth: Select)
  Contoh penggunaan :
  $rowCount=$command->execute();   // jalankan SQL non-queri
  $dataReader=$command->query();   // jalankan queri SQL
  $rows=$command->queryAll();      // queri dan kembalikan seluruh baris hasil
  $row=$command->queryRow();       // query dan kembalikan baris pertama hasil
  $column=$command->queryColumn(); // query dan kembalikan kolom pertama hasil
  $value=$command->queryScalar();  // query dan kembalikan field pertama dalam baris pertama
  // BACA QUERY / MENGAMBIL HASIL QUERY
  $dataReader=$command->query();
  while(($row=$dataReader->read())!==false) { ... } // memanggil read() secara terus menerus sampai ia mengembalikan false
  foreach($dataReader as $row) { ... } // menggunakan foreach untuk menelusuri setiap baris data
  $rows=$dataReader->readAll(); // mengambil seluruh baris sekaligus dalam satu array tunggal



Nah untuk info saja koneksi dari database untuk di rekam dalam AR itu harus dibaca dulu skema data atau metadatanya. ini membutuhkan waktu untuk prosesnya, jika skema data anda cukup besar lebih baik memperbesar caching durationnya. [CDbConnection::schemaCachingDuration].
Contoh :
'schemaCachingDuration'=>3600,  // durasi menjadi 3600 detik


AR katanya hanya mendukung DBMS dibawah ini :
- [MySQL 4.1 atau lebih tinggi]
- [PostgreSQL 7.3 atau lebih tinggi]
- [SQLite 2 dan 3]
- [Microsoft SQL Server 2000 atau lebih tinggi]
- [Oracle]

Untuk urusan CRUD (Cread Read Update Delete) Class AR sudah mendukung. Silahkan baca dibawah ini, mudah2an lebih mengerti dari pada baca Tutorial yang bertebaran di inet mengenai yii.
Ada permintaan neh dari agan junxiong untuk dijelaskan juga penggunaan fungsi-fungsi crudnya. aku jelasin sedikit yah, tapi kalo salah mohon dikoreksi, karena ini aku baru belajar jg.
Jadi fungsi save(), saveAttributes(), delete() itu berlaku / dipergunakan setelah data telah dibaca / direkam terlebih dahulu kedalam AR.
sekarang kita bicara yang agak mudah dimengerti dulu. yaitu fungsi save(boolean,array); or save($runValidation,$attributes);
- runValidation itu sendiri jika diberi nilai true maka dia akan secara otomatis akan menjalankan fungsi validate($attributes);
Jika nilai dari attributes benar maka dia akan melakukan pengecekan data terakhir penyimpanan. jika benar data tersebut adalah data terakhir maka akan dijalankan fungsi update($attributes),
sebaliknya jika salah maka akan dijalankan fungsi insert($attributes);

Untuk saveAttributes() seharusnya sudah mengerti dunk kalo fungsi save() bisa dimengerti. ^^
saveAttributes(array); or saveAttributes($attributes); // menyimpan daftar attribute yang dipilih
Contoh :
$post=new Post;
$post->title='sample post';
$post->content='content for the sample post';
$dataYgDiSimpan = array('username'=>'YiieRz-sdgBlajar', 'password'=>'belajarYii', 'email'='yiierz-sdgblajar@yiiframework.com', 'createTime'=>time());
$post->saveAttributes($dataYgDisimpan);

attributes diatas dapat diisi dengan array attribute yang kita harapkan


## MEMBACA DATA
## MEMBACA DATA KE AR
// merekam baris sesuai dengan kondisi yang ditetapkan
$post=Post::model()->find($condition,$params);
// merekam baris sesuai dengan kunci primer yang ditetapkan
$post=Post::model()->findByPk($postID,$condition,$params);
// merekam baris dengan nilai atribut yang ditetapkan
$post=Post::model()->findByAttributes($attributes,$condition,$params);
// merekam baris pertama menggunakan pernyataan SQL yang ditetapkan
$post=Post::model()->findBySql($sql,$params);

Contoh 1 :
// cari baris dengan postID=10
$post=Post::model()->find('postID=:postID', array(':postID'=>10));</code>
Contoh 2:
<code>$criteria=new CDbCriteria;
$criteria->select='title';  // hanya memilih kolom 'title'
$criteria->condition='postID=:postID';
$criteria->params=array(':postID'=>10);
$post=Post::model()->find($criteria); // $params tidak diperlukan</code>
Contoh 3 :
<code>$post=Post::model()->find(array(
'select'=>'title',
'condition'=>'postID=:postID',
'params'=>array(':postID'=>10),
));

## MEMBACA JUMLAH RECORD KE AR
// merekam jumlah baris yang sesuai dengan kondisi yang ditetapkan
$n=Post::model()->count($condition,$params);
// merekam jumlah baris menggunakan pernyataan SQL yang ditetapkan
$n=Post::model()->countBySql($sql,$params);
## MEMBACA PENGECEKAN EXISTS KE AR
// merekam apakah ada satu baris yang sesuai denga kondisi yang ditetapkan
$exists=Post::model()->exists($condition,$params);


## SIMPAN DATA
## SIMPAN DATA KE AR
// mutakhirkan baris yang sama seperti kondisi yang ditetapkan
Post::model()->updateAll($attributes,$condition,$params);
// mutakhirkan baris yang sama seperti kondisi dan kunci primer yang ditetapkan
Post::model()->updateByPk($pk,$attributes,$condition,$params);
// mutakhirkan kolom counter dalam baris yang sesuai dengan kondisi yang ditetapkan
Post::model()->updateCounters($counters,$condition,$params);

## SIMPAN DATA KE DB
[save()|CActiveRecord::save]

Contoh :
$post=new Post;
$post->title='sample post';
$post->content='content for the sample post';
$post->createTime=time();
$post->save();


## HAPUS DATA
## HAPUS DATA DI AR
// hapus baris yang sesuai dengan kondisi yang ditetapkan
Post::model()->deleteAll($condition,$params);
// hapus baris yang sesuai dengan kondisi dan kunci primer yang ditetapkan
Post::model()->deleteByPk($pk,$condition,$params);

## HAPUS DATA DI DB
Contoh :
[delete()|CActiveRecord::delete]
$post=Post::model()->findByPk(10); // menganggap ada tulisan yang memiliki ID = 10
$post->delete(); // hapus baris dari tabel database


## VALIDASI DATA
## VALIDASI DATA DI AR
-- MEMBANDINGKAN REKAMAN AR
[CActiveRecord::equals()]
[primaryKey|CActiveRecord::primaryKey]

-- KOSTOMISASI REKAMAN AR
[beforeValidate|CModel::beforeValidate]
[afterValidate|CModel::afterValidate]
[beforeSave|CActiveRecord::beforeSave]
[afterSave|CActiveRecord::afterSave]
?[beforeDelete|CActiveRecord::beforeDelete]
[afterDelete|CActiveRecord::afterDelete]
[afterConstruct|CActiveRecord::afterConstruct]
[afterFind|CActiveRecord::afterFind]


DAH AH SAMPE SINI DULU, NANTI BARU DILANJUTKAN.

Belajar urlManager

Untuk pemula biasanya bingung, kok saya akses website index.php/contact kok bisa ke site/contact. nah ini berarti anda sedang belajar routing web.
untuk route di yii bisa menggunakan urlManager.

urlManager sebetulnya sudah ada tutorialnya, namun kurang pas kalau tidak dibahas secara detail. saya akan coba kupas sedikit mengapa urlManager itu sangat penting diketahui.

saat kita mengakses index.php framework yii akan membaca file config kita contoh config/main.php yang salah satu isinya adalah component urlManager

berikut ini adalah default urlManager dari Yii Framework
'urlManager'=>array(
	'urlFormat'=>'path',
	'rules'=>array(
		'<controller:\w+>/<id:\d+>'=>'<controller>/view',
		'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
		'<controller:\w+>/<action:\w>'=>'<controller>/<action>', 
	),
),


yang harus kita tahu adalah rules / aturan path
\w adalah string
\d adalah numeric

jadi jika ada site.com/webapp/contact
secara otomatis yg akan diproses oleh framework adalah
'<controller:\w+>/<action:\w>'=>'<controller>/<action>',


dia akan mencari pada SiteController.php yang memiliki class actionContact

sudah jelas kan mengenai urlManager
semoga membantu.


gan, kalo boleh tau bagaimana penggunaan commit trans untuk penerapan di AR
0

#38 User is offline   Dayak Ngoding 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 32
  • Joined: 14-November 11

Posted 23 November 2012 - 12:09 AM

View Postawik, on 19 November 2012 - 11:31 PM, said:

gan, kalo boleh tau bagaimana penggunaan commit trans untuk penerapan di AR


http://www.yiiframew.../CDbTransaction

Tinggal dilihat apakah database yang dipakai mendukung atau tidak ...
0

Share this topic:


  • (2 Pages)
  • +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users