2013-06-29 3 views
0
Company class 
    public $hasMany = array(
    'Person' => array(
     'className' => 'Lasso.Person', 
     'foreignKey' => 'company_id', 

    ) 



Person class 
public $belongsTo = array(
       'Company' => array(
     'className' => 'Lasso.Company', 
     'foreignKey' => 'id', 
     'conditions' => '', 
     'fields' => 'company', 
     'order' => '' 
    ) 
); 

Как я могу получить свое поле company_id в своих представлениях для людей как отображаемое имя компании, а не только значение company_id?Вопрос о связи Cakephp

ответ

0
public $displayField = 'companyName'; 
+0

У меня уже есть это в модели моей компании. –

+0

Я понял это! Мне нужно сделать это на мой взгляд: $ people = $ this-> Company-> Person-> find ('list'); $ this-> set (compact ('people')); –

+0

@JustinYoung Вы сделали то, что, на ваш взгляд? – Jelmer

0

В вашем Person классе вы можете написать, что:

public $belongTo = array(
    'Company' => array(
      'className' => 'Lesso.Company', 
      'foreignKey' => 'company_id', // Here use company_id instead of id 
      ..... 
    ) 
); 

, а также вам нужно положить company_id поле в persons таблице.

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