2013-10-09 47 views
0

我需要你的幫助,因爲我無法從我的查詢結果中提取結果,而無需執行foreach循環。CakePHP SET庫和HABTM提取

我的查詢返回這樣一個數組:

array(
(int) 0 => array(
    'Event' => array(
     'id' => '1', 
     'title' => 'Event title', 
    ), 
    'ShopstaffR' => array(
     (int) 0 => array(
      'id' => '1', 
      'event_id' => '1', 
      'shopstaff_id' => '1' 
     ), 
     (int) 1 => array(
      'id' => '2', 
      'event_id' => '1', 
      'shopstaff_id' => '2' 
     ) 
    ), 
    'Shopstaff' => array(
     (int) 0 => array(
      'id' => '1', 
      'name' => 'Ben', 
      'EventsShopstaff' => array(
       'id' => '1', 
       'event_id' => '1', 
       'shopstaff_id' => '1' 
      ) 
     ), 
     (int) 1 => array(
      'id' => '2', 
      'name' => 'Alex', 
      'EventsShopstaff' => array(
       'id' => '2', 
       'event_id' => '1', 
       'shopstaff_id' => '2' 
      ) 
     ) 
    ) 
), 
(int) 1 => array(
ETC .... 

事件模型與Shopstaff模型的HABTM關係,我想提取數組作爲這一個:

array(
(int) 0 => array(
    'Event' => array(
     'id' => '1', 
     'title' => 'Event title, Shopstaff: Ben, Alex', 
    ), 
), 
(int) 1 => array(
ETC .... 

的問題在於我無法通過set::combine方法做到這一點,因爲我不知道會有多少ShopStaff。

有什麼想法?

回答

0

嘗試這種或類似

$var - array(); 
$var['Event'] = Hash::extract($queryResult, '{n}.Event'); 

東西你爲什麼不只是拉你想要的模型,並從查詢解除綁定其他車型? Set :: combine使用一個foreach,在某些情況下可能效率低下

+0

因爲我需要Shopstaff模型,所以我想將商店成員與事件標題連接起來,爲此我需要兩個。 – nicolecoco02