cakephp find('list')选择框的多个列

时间:2014-07-11 18:52:34

标签: php cakephp cakephp-2.0 cakephp-2.3

我是Cake PHP和这个论坛的新手。

这是我的问题。我只是想用蛋糕PHP创建一个选择框。数据来自数据库表。

我的客户表格如下:

    id | first_name | last_name
 --------------------------------
    1  |   John     |   Doe
 --------------------------------
    1  |   Sam     |   Doe

我只是尝试使用此方法获取数据

    $this->set('customers', $this->Customer->find('list', array(
        'fields' => array('Customer.id', 'Customer.first_name')
    )));

查看代码:

      echo $this->Form->input('customers');

这会创建一个如下所示的选择框:

    <select name="data[Order][customers]" id="OrderCustomers">
    <option value="1">John</option>
    <option value="2">Sam</option>
    </select>

我的问题是如何显示名字&amp;选择框中的姓氏就像下面一样。

     <option value="1">John Doe</option>
     <option value="2">Sam Doe</option>

非常感谢您的回答!感谢

1 个答案:

答案 0 :(得分:7)

您可以使用virtual fields

该模型将

public $virtualFields = array(
    'full_name' => 'CONCAT(Customer.first_name, " ", Customer.last_name)'
);

然后您可以在find电话中使用它:

$this->set('customers', $this->Customer->find('list', array(
    'fields' => array('Customer.id', 'Customer.full_name')
)));