Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Virtuelle Felder in CakePHP 2.x verwenden

Cool, also habe ich es behoben. Teilweise Dank an Brandon, der mich in die richtige Richtung gewiesen hat.

Aufgrund der Beschränkung der virtuellen Felder musste ich die Problemumgehung durchführen.

Also habe ich in meinem HrEmployee-Modell Folgendes getan:

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

Und in meinem Benutzermodell habe ich es folgendermaßen geändert:

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'];
}

Und schließlich habe ich es in meinem UsersController nur ein wenig geändert:

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