我想将模型中的字段放在选择列表中。 我有这个代码..
brand.php& car.php模型
class Brand extends AppModel{
var $name = 'Brand';
var $hasMany = 'Car';
}
<?php
class Car extends AppModel{
var $name = 'Car';
var $belongsTo = 'Brand';
}
?>
控制器
<?php
class CarsController extends AppController{
var $name = 'Cars';
function index(){
$this->set('id', $this->Car->find('all'));
}
}
?>
这是视图index.ctp
<?php
echo $form->create('Search');
foreach($id as $options){
echo $options['Brand']['name']."<br>"; // it works
$values = array();
$values[] = $options['Brand']['name']; // doesnt work!
}
echo $this->Form->select('one', $values); // the values for selects just the last one
echo $form->end('search');
?>
那么如何将Brand.php模型中的选项值的字段和id放在选择列表中?
答案 0 :(得分:2)
将您的find('all')
来电更改为find('list')
来电并在品牌型号上调用。
这将为您提供一个id
=&gt;的关联数组所有displayField
条记录中的Brand
条。您可以通过在模型var $displayField = 'my_field';
答案 1 :(得分:1)
在您的控制器中:
$this->set('brands', $this->Car->Brand->find('list'));
在您看来:
echo $this->Form->input('brand_id');
Cake会自动将$ brands视图var链接到brand_id字段选项列表。