首页 文章

使用find加入cakephp

提问于
浏览
0

我使用了连接查询连接三个表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 回答

  • 0

    使用包含:http://book.cakephp.org/view/1323/Containable

    然后,您将只处理您需要的数据 .

    循环结果并构建所需的字符串 . 将字符串添加到以您希望选择返回的值为索引的数组中 . 将数组传递给视图 .

    你打算如何处理这些 Value 观?当用户做出选择时你想做什么?

    要么:

    您可以创建一个db view,这是一个动态组合来自其他表的数据的表 . CakePHP可以将其作为普通表进行访问 .

相关问题