CakePHP:在一个下拉列表中显示多个字段

CakePHP:在一个下拉列表中显示多个字段,cakephp,drop-down-menu,foreign-keys,Cakephp,Drop Down Menu,Foreign Keys,我正在尝试这样做,这样我就可以显示产品名称和它的价格旁边的功能,我正在使用。因此,当选择下拉列表时,它将与“productname-$price”类似,而不仅仅是“productname” 我很确定这就是所有需要查看的代码。简单在您的产品型号中添加以下行: $this->loadModel('Product'); $this->set('products',$this->Product->find('list',array('product'=>array('pro

我正在尝试这样做,这样我就可以显示产品名称和它的价格旁边的功能,我正在使用。因此,当选择下拉列表时,它将与“productname-$price”类似,而不仅仅是“productname”


我很确定这就是所有需要查看的代码。

简单在您的
产品型号中添加以下行:

$this->loadModel('Product');
$this->set('products',$this->Product->find('list',array('product'=>array('products.name' => 'products.price'))));
$this->set(compact('products'));
并尝试以下代码来获取:

public $virtualFields = array('name_price' => 'concat(Product.name, "-", Product.price)');

你认为这个错误是什么意思?等等,我搞砸了,上传了错误的文件,出现了一个新错误,secK there error is there SQLSTATE[23000]:完整性约束冲突:字段列表中的1052列'name'不明确,最后一个错误是SQLSTATE[42S22]:找不到列:1054“字段列表”中的未知列“Product.”因此我要确定一个名为products的列的范围?是的,您可以检查products表中的实际字段名。并为这些字段提供相应的模型名称,以避免在执行sql查询时出现歧义。
$this->loadModel('Product');
$this->set('products',$this->Product->find('list',array('fields'=>array('Product.name_price' => 'Product.price'))));
$this->set(compact('products'));