Mysql
 sql >> база данни >  >> RDS >> Mysql

Използване на виртуални полета в cakePHP 2.x

Готино, така че го оправих. Отчасти благодаря на Брандън, че ме насочи в правилната посока.

Поради ограничението на виртуалните полета, трябваше да направя заобикалящото решение.

И така, в моя модел HrEmployee направих това:

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

И в моя потребителски модел го промених на това:

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

И накрая, в моя UsersController, току-що го промених малко:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да обедините две таблици с помощта на разделен със запетая списък в полето за присъединяване

  2. Разделяне на ограничена низова стойност на редове

  3. Ефективно определяне дали даден бизнес е отворен или не въз основа на работното време на магазина

  4. Създайте тригер, за да изтриете редове, които са на повече от 90 дни

  5. Синтаксис на SQL SELECT – Изброен от СУБД