CakePHP-从不同的表中检索和处理数据

CakePHP-从不同的表中检索和处理数据,cakephp,Cakephp,对不起,我是CakePHP的新手,我对这个问题有点困惑,让我解释一下: 我有两个表之间的关系。表中一个是剂量表,另一个是储罐。因此,一罐属于一剂。一剂有很多罐。表架构为: CREATE TABLE `doses` ( `id` INT(10) NOT NULL AUTO_INCREMENT, `dose` INT(5) NULL DEFAULT NULL, PRIMARY KEY (`id`) ) 在我的坦克视图中,我有以下代码: <?php echo $form

对不起,我是CakePHP的新手,我对这个问题有点困惑,让我解释一下:

我有两个表之间的关系。表中一个是剂量表,另一个是储罐。因此,一罐属于一剂。一剂有很多罐。表架构为:

CREATE TABLE `doses` (
    `id` INT(10) NOT NULL AUTO_INCREMENT,
    `dose` INT(5) NULL DEFAULT NULL,
    PRIMARY KEY (`id`)
)
在我的坦克视图中,我有以下代码:

<?php echo $form->input('dose_id', array('class'=>'input', 'label' => ''));?>
然而,它给我带来的是剂量ID,而不是剂量值字段。我可以在哪里设置此项以获取正确的数据剂量?我试着在我的模型中这样设置:

'Dose' => array(
        'className' => 'Dose',
        'foreignKey' => 'dose_id',
        'conditions' => '',
        'fields' => 'dose',
        'order' => ''
    )
它不起作用

谢谢你花时间帮助我

提前感谢。

它给我带来的是剂量ID,而不是剂量值字段。我可以在哪里设置此项以获取正确的数据剂量

您需要从db模型中获取,而不是从视图中获取。所以你需要做一个查找。如果你对蛋糕还不熟悉,你应该先阅读烹饪书,看看它是如何工作的。

美元形式->输入'dose_id'产生了什么?下拉菜单?若有,;默认情况下,cake将生成一个下拉列表,其中的值包含dose_id,您看到的文本值为$DisplayFieldName/title

这样做;如果我理解您的意思,您需要首先查询所有值的剂量,并将结果存储在一个数组中,使用剂量值作为键和值,而不是通常使用的id。然后,您可以从$this->data访问实际剂量值

也许吧。看起来有点多余,所以我可能要走了

'Dose' => array(
        'className' => 'Dose',
        'foreignKey' => 'dose_id',
        'conditions' => '',
        'fields' => 'dose',
        'order' => ''
    )
$doseArray=array();
$doses = $this->Dose->find('all');
foreach($doses['Dose'] as $k => $v) {
    $doseArray[$v] = $v;
}