2017-06-19 44 views
0

我有一個選擇窗體,我想填充用戶供用戶選擇。CakePHP排序選擇ID

聽起來很簡單但是我得到的問題是與標識,例如(我的列表是一個很長時間的,來自MySQL數據庫):

$users = [ 
    1 => "Zelda", 
    2 => "Apple" 
] 

排序的結果:(現編號無效)

$users = [ 
     1 => "Apple" 
     2 => "Zelda", 
    ] 

如果我對列表進行排序,則編號得到移動,這意味着我不能再調用蛋糕保存方法在我的控制器就可以了,我已經試過平添幾分我:

$users = $this->User->find('list', [ 
     'recursive' => -1, 
     'conditions' => [ 
      'User.status' => 1, 
      'User.id > ' => 1, 
      'NOT' => [ 
       'User.phone' => null 
      ] 
     ], 
     'fields' => [ 
      'User.full_name' 
     ], 
     'order' => [ 
      'User.full_name' 
     ] 
    ]); 

我另外有另一個領域有類似的問題,它使用來自兩個領域的文本映射到一個單一的ID,所以我已經連接在一起的文本,但我努力獲得列表排序使用幫助窗體,但保持ID關聯。

看到你不能對數字索引數組進行排序並將ID保持在同一位置,這肯定是一個非常普遍的問題,所以我錯過了什麼?

非常感謝提前。

回答

2

我相信,你是不是有編號的工作,你只選擇單個字段是'User.full_name'你應該選擇ID:

 'fields' => [ 
      'User.id', 
      'User.full_name' 
     ] 

是拿到2場的方式,您只需順序是什麼默認數組的編號不是id。

+0

非常感謝這是用戶發現的問題,我的其他發現我不得不使用Hash :: Combine來獲得我想要的結果 – trevrobwhite