CakePHP:基于主键显示存储在另一个模型中的值
开始使用CakePHP并热爱它。然而,我被困在这个noob的情况下,我不知道该怎么解决这个问题 基本上,我有两种型号,离港和港口。这些表如下所示: 出发时间CakePHP:基于主键显示存储在另一个模型中的值,php,cakephp,primary-key,cakephp-model,Php,Cakephp,Primary Key,Cakephp Model,开始使用CakePHP并热爱它。然而,我被困在这个noob的情况下,我不知道该怎么解决这个问题 基本上,我有两种型号,离港和港口。这些表如下所示: 出发时间 身份证 港口从 杜港 到达时间 出发时间 端口 身份证 名字 位置 活跃的 注 现在我想列出所有的出发点,port_from和port_to包含来自ports的ID我不想只显示端口ID,而是想显示端口名,但我不知道如何才能做到这一点? 在我的出发控制器中使用两组$this->set,我可以显示端口表中的值。我一直在寻找解决方案,但我
- 身份证
- 港口从
- 杜港
- 到达时间
- 出发时间
- 身份证
- 名字
- 位置
- 活跃的
- 注
谢谢您的帮助。您可以在
出发
模式中设置两个belongsTo关联
$belongsTo = array(
'PortForm' => array(
'className' => 'Port',
'foreignKey' => 'port_from'
),
'PortTo' => array(
'className' => 'Port',
'foreignKey' => 'port_to'
),
);
现在,当您在结果数组中对
出发模型执行find()时,对于每个出发记录,您将拥有相应的端口from
和端口to
记录。您必须在模型中设置关系:
class Departure extends AppModel {
public $belongsTo = array(
'From' => array(
'className' => 'Port',
'foreignKey' => 'port_from'
),
'To' => array(
'className' => 'Port',
'foreignKey' => 'port_to'
)
) ;
} ;
然后您只需使用find
或read
即可(在您的控制器中)离开:
在视图中,您可以使用以下名称访问端口:
$departure['From']['name'] ;
$departure['To']['name'] ;
您可以通过以下方式访问正常的离港信息:
$departure['Departure']['time_arrival'] ;
非常感谢你!你和@ADmad为我节省了大量的时间和头痛!这很快就奏效了。
$departure['Departure']['time_arrival'] ;