Sudah lama gak koding yii framework dan setelah bedah bedah dokumentasi ane menemukan tulisan ini nih. Mending dishare daripada nanti lupa nyariin lagi semoga bermanfaat ya teman teman :
Cara Membuat CActiveDataproviderCara Menggunakan CActiveDataProvider di YiiFramework
<?php $high_scores_dp =
new CActiveDataProvider('score',
array('criteria' =>
array('condition' => 'game_id = ' . $model->id,
'order' => 'score desc',
'limit' => 20, // <=== TRIED CHANGING THIS VALUE
)
)
, 'pagination' => false // <=== FIXED BY ADDING THIS LINE
);
?>
Membuat CActiveDataprovider dengan Criteria<?php
criteria = new CDbCriteria;
$criteria->with = array('foreign_table1','foreign_table2', 'foreign_table2.foreign_table3');
$criteria->select = array('id');
$criteria->condition = "foreign_table1.col1=:col_val AND foreign_table3.col3=:col_val2";
$criteria->params = array(':col_val' => some_val, ':col_val2' => other_val);
$criteria->order = 'foreign_table3.col5 DESC';
$criteria->limit = 10;
//with criteria
$dataProvider=new CActiveDataProvider('Post', array(
//'criteria'=>$criteria, //if using criteria
'criteria'=>array(
'condition'=>'status=1 AND post_id='.$model->post_id,
'order'=>'create_time DESC',
'with'=>array('author'),
'limit'=>20
),
'pagination'=>array(
'pageSize'=>20,
),
));
$dataProvider->getData() will return a list of Post objects
ACTIVE RECORDS
Menggunakan FindByAttributes di Yiiframework
<?php
$usersComments=KomentarThread::model()->findAllByAttributes(array('ID_THREAD'=>$model->ID_THREAD),array(
'select'=>'t.ID_USER',
'condition'=>'t.ID_USER<>:id_user_pembuat AND t.ID_USER<>:id_user_komentar',
'params'=>array(':id_user_pembuat'=>$idUserPembuat,':id_user_komentar'=>$model->ID_USER),
'distinct'=>true,
));
?>
Cara menggunakan Exists di YiiFramework
<?php
$this->findByAttributes(array('email'=>$this->email));
return $this->exists('email = :email', array(':email'=>$this->email));
?>
Cara menggunakan Find di YiiFramework
<?php
return User::model()->active()
->validemail()
->completeprofile()
->with('userprofile', 'userskillconfigs')
->together()
->findAll(
array('condition' => 'id_gametype='.Gametype::MAUMAU,
'limit' => 3,
'order' => 'created DESC') );
?>
<?php
$post=Post::model()->find(array(
'select'=>'title',
'condition'=>'postID=:postID',
'params'=>array(':postID'=>10),
));
<?php
// find all rows satisfying the specified condition
$posts=Post::model()->findAll($condition,$params);
// find all rows with the specified primary keys
$posts=Post::model()->findAllByPk($postIDs,$condition,$params);
// find all rows with the specified attribute values
$posts=Post::model()->findAllByAttributes($attributes,$condition,$params);
// find all rows using the specified SQL statement
$posts=Post::model()->findAllBySql($sql,$params);
<?php // get the number of rows satisfying the specified condition $n=Post::model()->count($condition,$params); // get the number of rows using the specified SQL statement $n=Post::model()->countBySql($sql,$params); // check if there is at least a row satisfying the specified condition $exists=Post::model()->exists($condition,$params) ?>
<?php $post=new Post; $post->title='sample post'; $post->content='content for the sample post'; $post->create_time=time(); $post->save(); ?>
Cara Update data di YiiFramework
Cara menggunakan find dengan cdbcriteria di YiiFramework
Cara menggunakan findAll dengan CdbCriteria di YiiFramework
<?php $post=Post::model()->findByPk(10); $post->title='new post title'; $post->save(); // s // update the rows matching the specified condition Post::model()->updateAll($attributes,$condition,$params); // update the rows matching the specified condition and primary key(s) Post::model()->updateByPk($pk,$attributes,$condition,$params); // update counter columns in the rows satisfying the specified conditions Post::model()->updateCounters($counters,$condition,$params); ?>Cara menghapus data di YiiFramework
<?php $post=Post::model()->findByPk(10); // assuming there is a post whose ID is 10 $post->delete(); // delete the row from the database table // delete the rows matching the specified condition Post::model()->deleteAll($condition,$params); // delete the rows matching the specified condition and primary key(s) Post::model()->deleteByPk($pk,$condition,$params); ?>
Menggunakan CDBCRITERIA di YiiFramework
Cara menggunakan find dengan cdbcriteria di YiiFramework
<?php
$match = addcslashes($match, '%_'); // escape LIKE's special characters
$q = new CDbCriteria( array(
'condition' => "content LIKE :match", // no quotes around :match
'params' => array(':match' => "%$match%") // Aha! Wildcards go here
) );
$comments = Comments::model()->findAll( $q ); // works!
?>
Cara menggunakan findAll dengan CdbCriteria di YiiFramework
<?php
$match = addcslashes($match, '%_'); // escape LIKE's special characters
// directly into findAll()
$comments = Comments::model()->findAll(
'content LIKE :match',
array(':match' => "%$match%")
);
// merging in a parameterized scope:
$this->getDbCriteria()->mergeWith( array(
'condition' => 'content LIKE :match',
'params' => array(':match' => "%$match%")
) );
?>
Kombinasi CDbCriteria dan Find di ActiveRecord<?php
$q = new CDbCriteria();
$q->addSearchCondition('content', $match);
$comments = Comments::model()->findAll( $q );
?>
<?php
$criteria=new CDbCriteria;
$criteria->select='title'; // only select the 'title' column
$criteria->condition='postID=:postID';
$criteria->params=array(':postID'=>10);
$post=Post::model()->find($criteria);
?>

Tidak ada komentar:
Posting Komentar