Mysql
 sql >> Base de données >  >> RDS >> Mysql

Utiliser des champs virtuels dans cakePHP 2.x

Cool alors j'ai corrigé. Merci en partie à Brandon de m'avoir orienté dans la bonne direction.

En raison de la limitation des champs virtuels, j'ai dû contourner le problème.

Donc, dans mon modèle HrEmployee, j'ai fait ceci :

public $virtualFields = array(
    'fullname' => 'CONCAT(HrEmployee.name, " ", HrEmployee.surname, " (", HrEmployee.jobTitle, ")")'
);

Et dans mon modèle utilisateur, je l'ai changé en ceci :

class User extends AppModel {
public function __construct($id = false, $table = null, $ds = null) {
    parent::__construct($id, $table, $ds);
    $this->virtualFields['fullname'] = $this->HrEmployee->virtualFields['fullname'];
}

Et enfin, dans mon UsersController, je l'ai juste un peu modifié :

$hrEmployees = $this->User->HrEmployee->find('list',
    array(
        'fields' => array("id","fullname"),
        'order' => array('HrEmployee.name ASC','HrEmployee.surname ASC')
));