cakephp find('list') multiple columns for select box
cakephp, cakephp-2.0, cakephp-2.3, php
Solution
You can use virtual fields
The model would have
public $virtualFields = array(
'full_name' => 'CONCAT(Customer.first_name, " ", Customer.last_name)'
);
Then you can use it in the `find` call:
$this->set('customers', $this->Customer->find('list', array(
'fields' => array('Customer.id', 'Customer.full_name')
)));
Problem
Im new to Cake PHP and this forum. This is my question. I just want to create a select box using cake PHP. Data is coming from database table. My Customers table looks like this : ``` id | first_name | last_name -------------------------------- 1 | John | Doe -------------------------------- 1 | Sam | Doe ``` I just tried to get the data using this method ``` $this->set('customers', $this->Customer->find('list', array( 'fields' => array('Customer.id', 'Customer.first_name') ))); ``` View code : ``` echo $this->Form->input('customers'); ``` This create a select box just like this: ``` <select name="data[Order][customers]" id="OrderCustomers"> <option value="1">John</option> <option value="2">Sam</option> </select> ``` My question is how do I display first name & last name in select box just like below. ``` <option value="1">John Doe</option> <option value="2">Sam Doe</option> ``` Much appreciate your answers! Thanks