Luciano Nascimento
Luciano Nascimento

Reputation: 2600

Yii Mysql Select Custom Field

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

Answers (1)

Sergey
Sergey

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

Related Questions