#cakephp #cakephp-1.3
#cakephp #cakephp-1.3
Вопрос:
В моем контроллере у меня есть
var $uses = array('User','Customer');
затем я использую read для вызова пользователей
$loggedOutCustomer = $this->User->read(null, $this->Auth->user('id'));
это дает мне пользователей и разделители, которые я могу использовать, но я хочу выполнить сортировку по имени клиента. Как я могу это сделать в cake?
Комментарии:
1. Пожалуйста, помечайте только ту версию, которую вы используете. И каковы отношения между пользователем и заказчиком?
Ответ №1:
Вы можете установить порядок по умолчанию в вашей пользовательской модели.
Если клиент принадлежит пользователю, у пользователя есть много клиентов.
В вашей пользовательской модели под hasMany
переменной найдите запись Customer и добавьте Customer.name
в order
ключ массива.
Также, пожалуйста, удалите тег версии cakephp, который вы не используете.
Вы также можете добавить свои параметры сортировки при использовании метода find() вашей модели.
Это также может быть определено в массиве разбиения на страницы
Другим вариантом было бы использовать сдерживаемое поведение
Комментарии:
1. Есть ли решение, если он хочет упорядочить по другому ключу в другом месте своего кода? Т.Е. должен быть способ передать
order
параметр..2. @oerd да, он может определить это в
find()
вызове или в массиве разбивки на страницы (paginate
). Он также может использоватьContainable
поведение. Что рекомендуется3. Я думаю, вам следует включить эти комментарии в ответ 🙂
Ответ №2:
Попробуйте это
$loggedOutCustomer = $this->User->find('first', array('conditions' => array('User.id' => $this->Auth->user('id')), 'order' => 'Customer.name ASC'));