我试图填充cakephp中的下拉列表/选择标记,幸运的是我能够使用来自我的数据库的值填充它, 但是它显示ALL。如何将人口限制为特定ID?
在这里说清楚我想要实现的目标:
苹果:
形式开始
下拉列表 - 仅包含与数据库中的苹果相关联的值
按钮
表格结束
目前看来是这样的
苹果:
形式开始
下拉列表 - 包含来自DB的所有水果值
按钮
表格结束
这是我当前的代码tnx非常感谢任何帮助/建议
控制器:
$fruits = $this->Model1->Model2->find('list',
array('fields' =>
array('id',
'fruit_name',
//'conditions' => array(''=>'')
)));
$this->set('fruitsList', $fruits);
查看:
echo $this->Form->input('Model1.salad_fruits_id',
array('type' => 'select',
'options' => $fruitsList,
));
答案 0 :(得分:0)
如果模型之间的模型之间存在关联,那将更容易。只需为第二个模型添加条件。
//if you don't have association between models
$this->Model1->bindModel(array(
'belongsTo' => array( //example binding
'Model2' => array(
'className' => 'Model2',
'foreignKey' => 'model2_id',
)
)
));
$fruits = $this->Model1->find('list', array(
'conditions' => array(
'Model2.name' => 'apple'
),
'fields' => array(
'id','fruit_name',
)
));