Reputation: 2600
I would to have 2 custom fields based in one field. How can I do that?
Code:
$criteria = new CDbCriteria;
$criteria->select='(number*2) AS custom_field, (number*4) AS custom_field';
$criteria->order='custom_field';
$model = Events::model()->findAll($criteria);
Table:
number custom_field
------------------
2 4, 8
3 6, 12
custom_field ordered -> 4, 6, 8, 12
Edit:
<?php $this->widget('bootstrap.widgets.TbGridView',array(
'type'=>'striped bordered condensed',
'id'=>'recurringevents-grid',
'dataProvider'=>$model,
'columns'=>array(
'custom_field',
),
)); ?>
Output:
Custom Field
4
6
8
12
Upvotes: 0
Views: 1749
Reputation: 5207
1st. Events.php
class Events extends CActiveRecord {
public $custom_square, $custome_square_square;
// skip ...
public funciton rules() {
// skip ...
array('custom_square, custom_square_square', 'safe'),
2nd. Separate sql select:
$criteria->select = array(
new CDbExpression('(number*2) AS custom_square'),
new CDbExpression('(number*4) AS custom_square_square'),
);
$criteria->order='custom_square';
$model = Events::model()->findAll($criteria);
Upvotes: 1