我使用了连接查询连接三个表employee,places和employee_places . 连接查询给了我所有结果,因为我使用了find('all') . 但是在视图页面中我只想显示员工表中的员工姓名 - 地址表中的地名在下拉列表中 . 例如: - emp1-place1,emp2-place2等 . 我应该在哪里给出find中的字段名称 . 看下面的代码:
$ options ['joins'] = array(array('table'=>'employees','alias'=>'emp','type'=>'inner','conditions'=> array('emp.id = EmployeePlace.employee_id')),array('table'=>'places','alias'=>'pl','type'=>'inner','conditions'=> array('pl.id = EmployeePlace .place_id')));
$ empTables = $ this-> Bill-> EmployeePlace-> find('all',$ options);
$这 - >设置(紧凑( 'empTables'));
以上查询结果如下: -
数组([0] =>数组([EmployeePlace] =>数组([id] => 1 [employee_id] => 1 [place_id] => 1 [日期] => 2011-02-02)
[Employee] => Array
(
[id] => 1
[image] =>
[firstName] => Andy
[lastName] => Murray
[date_of_joining] => 2010-09-02
[date_of_leaving] => 2011-02-02
[date_of_birth] => 1991-08-10
[gender] => Male
[supervisor] => 0
[designation] => Manager
[user_id] => 0
)
[Place] => Array
(
[id] => 1
[placeName] => table-1
[section_id] => 1
[position] => Left
[seating_capacity] => 4
)
)
)
我只想要雇员中的firstName - 来自下拉列表中的地方表的placeName . 我如何使用find中的条件执行此操作 .
1 回答
使用包含:http://book.cakephp.org/view/1323/Containable
然后,您将只处理您需要的数据 .
循环结果并构建所需的字符串 . 将字符串添加到以您希望选择返回的值为索引的数组中 . 将数组传递给视图 .
你打算如何处理这些 Value 观?当用户做出选择时你想做什么?
要么:
您可以创建一个db view,这是一个动态组合来自其他表的数据的表 . CakePHP可以将其作为普通表进行访问 .