我在products_controller.php中有这段代码:
<?php
class ProductsController extends AppController{
var $name = 'Products';
var $helpers = array('Form');
//var $scaffold;
function index(){
$this->Product->recursive = 1;
$products = $this->Product->find('all');
$this->set('products',$products);
//pr($products);
}
function add(){
if(!empty($this->data)){
$this->Product->create();
$this->Product->save($this->data);
$this->redirect(array('action'=>'index'));
}
$categories = $this->Product->Category->find('list',array(
'field'=>array('Category.categoryName')
));
$this->set('categories',$categories);
pr($categories);
}
}
?>
它在我的数据库中的实际作用是:
SELECT `Category`.`id` FROM `categories` AS `Category` WHERE 1 = 1
问题是,我不是要选择Category.id。我想选择Category.categoryName这是我数据库中的另一个字段,这样它就会自动填充add.ctp文件中的下拉列表,如下所示:
<h2>ADD</h2>
<?php echo $form->create('Product'); ?>
<?php
echo $form->input('ProductName');
echo $form->input('categories');
echo $form->end('DONE');
?>
任何帮助都将受到高度赞赏。
答案 0 :(得分:0)
在您的类别模型中,使用类别名称设置displayField Name属性。
public $displayField = 'categoryName';