如何从CakePHP中的另一个模型导入模型

如何从CakePHP中的另一个模型导入模型,php,cakephp,model,Php,Cakephp,Model,描述模型属于产品模型。我希望在添加新描述时,所有产品名称都显示为复选框,以便用户在添加新描述时只需单击产品名称。比如: <?php echo $form->create('Desc'); echo $form->checkBox(Prod.Name); // assuming this is the correct code. echo $form->textArea('Desc.content'); echo $form->end('Save'); ?>

描述模型属于产品模型。我希望在添加新描述时,所有产品名称都显示为复选框,以便用户在添加新描述时只需单击产品名称。比如:

<?php
echo $form->create('Desc');
echo $form->checkBox(Prod.Name); // assuming this is the correct code.
echo $form->textArea('Desc.content');
echo $form->end('Save');
?>

我仍然不熟悉这个框架,仍然在搞乱它

谢谢

到目前为止,我就是这么做的:

<select name='data[Desc][prod_id]' id='DescriptionProdId'>
<?php echo $form->create('Desc'); ?>
<?php foreach($opps as $opp): ?>
<option value="<?php $opp["Prod"]["id"] ?>">
<?php echo $opp["Prod"]["name"]; ?>
</option>
<?php endforeach; ?>
</select>


您应该使用FormHelper,而不是手动创建元素

在你看来:

<?php
echo $form->input('prod_id', array('options' => $opps));
?>

你想做的和你正在做的是两件不同的事情。如果您的desc属于prod,请确保您在使用var$belongsTo和var$hasOne的模型中定义了它,您应该阅读关于关联的文档。var$uses根本不应该在这种情况下使用是的,我已经这么做了。谢谢提醒我:)它会显示数据库中所有的产品名称吗?是的。您不应该使用cakephp编写自定义表单元素。了解如何使用FormHelper。在$form->checkbox()调用中,参数缺少其周围的字符串引号。另外,您应该始终使用$form->input(),cakephp将根据数据库模式输出适当的表单类型。如果需要不同的输入类型,请使用此选项:$form->input('Model.field',array('type'=>'textarea')<代码>$this->set('prods',$this->Desc->Prod->find('list')。。如果将变量命名为复数(
$prods
),cakephp将自动填充选择框,因此不必提供
'options'=>$opps
部分。
$this->set('prods', $this->find('all'));