私は3つのテーブルemployee、places、employee_placesを結合するjoinクエリを使用しました。joinクエリはfind( 'all')を使用したのですべての結果を返します。職場テーブルの従業員テーブル名からの従業員名をドロップダウンに表示します。 例: - emp1-place1、emp2-place2などです。フィールド名はどこで検索するべきですか?cakephpで結合するfindを使用して
$オプション[ '参加する'] =配列( 配列( 'テーブル' => '従業員、 'エイリアス'=> 'EMP'、 'タイプ'=>':次のコードで ルックインナー ' '条件'=>配列( 'emp.id = EmployeePlace.employee_id' ) )、 アレイ( 'テーブル'=> '場所' '別名'=> 'PL' 'タイプ '=>' inner '、 '条件 '=>配列( ' pl.id = EmployeePlace.place_id ' ) ) );
$ empTables = $ this-> Bill-> EmployeePlace-> find( 'all'、$ options);
$ this->(compact( '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
)
)
)
私はちょうどdropNameのplace tableからemployee - placeNameのfirstNameが必要です。どのように私はfindで条件を使用してこれを行うのですか?収容可能
モデルに役立つ可能性のある仮想フィールドがあります。 –
上記のコードを参考にすれば良いでしょう。 –
バーチャルフィールドは、正しくリコールすれば、1つのモデル内のフィールドのみを結合できます。 – kaklon