2011-05-11 66 views
0

在我的控制器我有排序的陣列讀取

var $uses = array('User','Customer'); 

然後我使用讀取調用用戶

$loggedOutCustomer = $this->User->read(null, $this->Auth->user('id')); 

這給了我的用戶和cutsomers,我可以使用,但我想這樣做一個客戶姓名排序。我該如何做蛋糕?

+0

請標記只有你正在使用的版本。用戶和客戶之間的關係是什麼? – JohnP 2011-05-11 17:27:10

+0

$ Belongsto relationship – Autolycus 2011-05-11 17:29:43

回答

2

您可以在用戶模型中設置默認訂單。

如果客戶所屬的用戶,用戶有許多客戶。

在您的用戶模型中,在hasMany變量下找到客戶記錄並將Customer.name添加到order數組密鑰。

此外,請刪除您不使用的cakephp版本標籤。

當您使用模型的find()方法時,您還可以添加排序選項。

這也可以在pagination array

定義的另一種選擇是使用Containable behavior

+0

如果他想要通過代碼中另一個地方的不同密鑰進行訂購,是否有解決方案?即應該有一種方法來傳遞'order'參數.. – Oerd 2011-05-11 19:01:27

+0

@oerd yup,他可以在'find()'調用或分頁('paginate')數組中定義它。他也可以使用'Containable'行爲。這是建議 – JohnP 2011-05-11 19:12:26

+0

那麼他去:) – Oerd 2011-05-12 06:45:27

1

試試這個

$loggedOutCustomer = $this->User->find('first', array('conditions' => array('User.id' => $this->Auth->user('id')), 'order' => 'Customer.name ASC'));