CakePHP关联问题
我正在创建一个小型时间表应用程序。时间表上有运动员,每个运动员都有个人的休息时间(比如跑步或赛车) 一个运动员有很多跑步记录,一个跑步记录属于运动员,一个运动员有很多时间表(反之亦然)。一个时间表有很多次运行,最后一次运行属于时间表 当我在视图中添加新跑步时,除了选择框中的运动员id之外,我无法获取任何内容。我真的想知道他们的名字。而不是CakePHP关联问题,cakephp,Cakephp,我正在创建一个小型时间表应用程序。时间表上有运动员,每个运动员都有个人的休息时间(比如跑步或赛车) 一个运动员有很多跑步记录,一个跑步记录属于运动员,一个运动员有很多时间表(反之亦然)。一个时间表有很多次运行,最后一次运行属于时间表 当我在视图中添加新跑步时,除了选择框中的运动员id之外,我无法获取任何内容。我真的想知道他们的名字。而不是 ,我已经尝试了,但似乎无法让它工作。任何帮助都将不胜感激。谢谢 试着打印$run:print\r($run)的内容,看看['atternate']是否在那里
,我已经尝试了
,但似乎无法让它工作。任何帮助都将不胜感激。谢谢 试着打印$run:print\r($run)的内容,看看['atternate']是否在那里
如果不是,则在执行跑步查询时,可能必须手动包含运动员模型:
$this->Run->contain(‘运动员’) 如果不知道您是如何构建表单/数据的,很难说,但我会怎么做 在RunController中添加
$athletes = $this->Run->Athlete->find('list');
$this->set('athletes', $athletes);
然后在视图中使用此表单辅助线
<?php echo $form->input('Run.athlete_id', array('type' => 'select', 'options' => $athletes)); ?>
然后在你看来使用
<?php echo $form->input('Run.athlete_id'); ?>
表单助手将自动找到压缩的数组并构建select
----结束编辑----
希望这有帮助
干杯,
Dean不要忘记使用Model类的displayField属性,即
<?php
class Athlete extends AppModel {
public $name = "Athlete";
public $displayField = "name"; // the field name that has the athletes name in it
}
?>
<?php
class Athlete extends AppModel {
public $name = "Athlete";
public $displayField = "name"; // the field name that has the athletes name in it
}
?>