У меня есть модель Employee, которая принадлежит модели-адресату. Когда я беру данные из модели Employees, также появляется соответствующая запись адреса. Кроме того, модель Address имеет имя_файла virtualField. Это выглядит следующим образом:CakePHP: виртуальные поля, содержащие связанные с моделью поля данных
Array
(
[0] => Array
(
[Employee] => Array
(
[id] => 1
[address_id] => 33
[username] => ...
...
)
[Address] => Array
(
[id] => 33
[firstname] => Blah
[full_name] => Blah Blubb
...
)
)
[1] => Array (
[Employee] => Array (
[id] => 2
...
Я хочу, чтобы включили этот virtualField в Сотрудника части массива данных тоже, как
Array (
[0] => Array (
[Employee] => Array
(
[id] => 1
[full_name] => Blah Blubb
...
)
Tis не представляется возможным решить, просто добавив
$virtualFields = array(
'full_name' => 'CONCAT_WS(" ", Address.firstname, Address.surname)',
);
к категории «Сотрудники», так как поваренная книга states Предлагается решение («копировать virtualFields от одной модели к другой во время выполнения w и вам нужно получить к ним доступ »), но я не понимаю этого решения. Где я должен это разместить? В контроллере? В модели в функции поиска?
Спасибо за помощь
Что происходит, когда Адрес ['full_name'] не установлен? Там много ситуаций, когда вы не можете рассчитывать на связанные с ними данные, такие как поиск («список») или поиск, исходящий из связанной модели. Любой код, зависящий от нахождения правильного $ a ['Employee'] ['full_name'], не выполняется. Причина, по которой я спрашиваю, заключается в том, что я сталкиваюсь с той же ситуацией. –