You can measure your property Model::virtualFieldsso that it has rules for each database:
var $virtualFields = array(
'mysql' => array(
'display_name' => 'CONCAT(User.name, " (", User.team, ")")',
),
'postgres' => array(
'display_name' => 'PgConcatStuff(...)',
),
'mssql' => array(
'display_name' => 'MsConcatStuff(...)',
),
);
, , Cake :
class AppModel extends Model {
function beforeFind($queryData) {
$ds = $this->getDataSource();
$db = $ds->config['driver'];
$this->virtualFields = $this->virtualFields[$db];
return parent::beforeFind($queryData);
}
. , , . .:)