2013-10-03 3 views
0

У меня есть три модели пользователя, оборудование, FaultReportcakephp: как извлечь данные из неизученной модели?

Таблица

Пользователь:

id name 

    1 XXXXX 
    2 YYYYYY 

оборудование Стол

id name  
1 Acer 
2 Fujitsu 

Fault Report Таблица:

id equipment_id user_id comment 
    1  1    1  good 
    2  1    1  Under repair 
    3  3    2  condemned 

Я использую модель оборудования для поиска деталей оборудования и отчетов об ошибках оборудования, используя Mnay. Но как я могу получить имя пользователя (кто отправил отчет о неисправности). Модель FaultReport и User связана с использованием belongsTo. Но модель оборудования не связана с моделью пользователя. Так как я могу получить имена пользователей, который связан с faultreport моделью при использовании модели оборудования для поиска [ $this->Equipment->find('all') ]

Пожалуйста, посоветуйте мне

ответ

0

Лучший способ для извлечения данных из более глубоких ассоциируемых моделей заключается в использовании Containable Behavior. Включите его в AppModel:

class AppModel extends Model { 
    public $actsAs = array('Containable'); 
} 

Теперь перед выполнением запроса можно установить, какие связанные данные выборки:

$this->Equipment->contain(array('FaultReport' => array('User'))); 
$equipment = $this->Equipment->find('all'); 

Этот код позволит вам получить все необходимые данные.

Это всего лишь базовый пример. Прочтите документацию, чтобы узнать, как извлекать только определенные поля или включать условия в ваши запросы.

Смежные вопросы