Przeczytałem dokumentację i starałem się zrozumieć, co należy zrobić. Ponadto przeczytałem tutaj pytania na temat stackoverflow i nic, co próbowałem nie pomogło.Korzystanie z wirtualnych pól w CakePHP 2.x
Mam drop-up, że chcę wymienić wszystkich pracowników w firmie. Lista powinna być wyświetlona tak:
Name Surname (Job Title)
w moim modelu, mam ten fragment kodu:
public $virtualFields = array(
'fullname' => 'CONCAT(HrEmployee.name, " ", HrEmployee.surname, " (", HrEmployee.jobTitle, ")")'
);
I w moim kontrolera, mam to:
$hrEmployees = $this->User->HrEmployee->find('fullname',
array(
'fields' => array('HrEmployee.name','HrEmployee.surname','HrEmployee.jobTitle'),
'order' => array('HrEmployee.name'=>'ASC','HrEmployee.surname'=>'ASC')
));
Ale Otrzymuję ten błąd:
Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS `User__fullname` FROM `intraweb_db`.`users` AS `User` WHERE `User`.`hr_emp' at line 1
Co muszę zmienić? Widzę, że to budowanie zapytania, ale zmienia to strasznie źle ...
Czy ktoś może pomóc?
Dzięki. Ta odpowiedź wskazała mi właściwy kierunek. Zobacz moją odpowiedź. – Albert
Cieszę się, że mogłem częściowo pomóc i dziękuję za opublikowanie rozwiązania! –