0

1 つのフィールドに基づく 2 つのカスタム フィールドが必要です。どうやってやるの?


コード:

$criteria = new CDbCriteria;
$criteria->select='(number*2) AS custom_field, (number*4) AS custom_field';
$criteria->order='custom_field';
$model = Events::model()->findAll($criteria);

テーブル:

number   custom_field
------------------
2         4, 8
3         6, 12

custom_field ordered -> 4, 6, 8, 12

編集:

<?php $this->widget('bootstrap.widgets.TbGridView',array(
    'type'=>'striped bordered condensed',
    'id'=>'recurringevents-grid',
    'dataProvider'=>$model,
    'columns'=>array(
        'custom_field',
    ),
)); ?>

出力:

Custom Field
4
6
8
12
4

1 に答える 1

1

1位。Events.php

class Events extends CActiveRecord {
    public $custom_square, $custome_square_square;
// skip ...
    public funciton rules() {
    // skip ...
          array('custom_square, custom_square_square', 'safe'),

2番目。個別のSQL選択:

$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);
于 2013-01-16T05:12:42.617 に答える