PHP 클래스 Field_Expression, atk4

Field_Expression implements ability to specify expressions inside your SQL_Model and have them appear as a read-only fields. Use: $model->addExpression('age','year(now())-year(birthdate)'); Below example achieves the same,but it prefixes age with proper table name $model->addExpression('age', 'year(now())-year('.$model->getElement('adatege').')'); $model->addExpression('row_counter',$this->db->dsql()->useExpr('@x := @x+1'); using custom controller to format field $myctl=$this->add('Controller_MiscMySQL'); $model->addExpression('date_formatted',array($myctl,'dateExpr1')); or or by using closure and extra argument $myctl=$this->add('Controller_MiscMySQL'); $model->addExpression('date_formatted', function($model,$query) uses $myctl { return $myctl->dateExpr2($query,'date_raw'); }); NOTE: MiscMySQL is fictional controller.
상속: extends Field
파일 보기 프로젝트 열기: atk4/atk4

공개 프로퍼티들

프로퍼티 타입 설명
$expr

공개 메소드들

메소드 설명
calculated ( $x = UNDEFINED )
editable ( $x = UNDEFINED )
getExpr ( )
set ( $expr = null ) specify DSQL, String or function($model, $dsql, $this_field)
updateInsertQuery ( $insert )
updateModifyQuery ( $insert )
updateSelectQuery ( $select )

메소드 상세

calculated() 공개 메소드

public calculated ( $x = UNDEFINED )

editable() 공개 메소드

public editable ( $x = UNDEFINED )

getExpr() 공개 메소드

public getExpr ( )

set() 공개 메소드

specify DSQL, String or function($model, $dsql, $this_field)
public set ( $expr = null )

updateInsertQuery() 공개 메소드

public updateInsertQuery ( $insert )

updateModifyQuery() 공개 메소드

public updateModifyQuery ( $insert )

updateSelectQuery() 공개 메소드

public updateSelectQuery ( $select )

프로퍼티 상세

$expr 공개적으로 프로퍼티

public $expr