Я играю с базой данных кавычек, относящейся к лыжной трассе, которую я запускаю. Я пытаюсь перечислить кавычки, но сортировать по человеку, который сказал цитату, и изо всех сил пытаюсь заставить помощника по страницам сделать это.cakephp - сортировка по ассоциации второго уровня в paginate
У меня есть четыре соответствующих таблицы.
цитаты, поездки, люди и посещаемость. Посещаемость - это, по сути, таблица соединений для людей и поездок.
Отношения заключаются в следующем:
Участники belongsTo Person hasMany Посещаемость
Посещаемость belongsTo Маршрутный hasMany Посещаемость
Посещаемость hasMany Quote принадлежит посещаемости
В QuotesController я использую Containable для извлечения полей из цитирую, вместе с соответствующим посещаемости и полей от Поездки и Лица, связанных с этим Посещением.
function index() {
$this->Quote->recursive = 0;
$this->paginate['Quote'] = array(
'contain' => array('Attendance.Person', 'Attendance.Trip'));
$this->set('quotes', $this->paginate());
}
Это, кажется, работает хорошо, и с точки зрения, я могу повторить из
foreach ($quotes as $quote) {
echo $quote['Attendance']['Person']['first_name'];
}
без каких-либо проблем.
То, что я не могу работать в доступе к/с использованием той же переменной в качестве поля сортировки в постраничной
echo $this->Paginator->sort('Name', 'Attendance.Person.first_name');
или
echo $this->Paginator->sort('Location', 'Attendance.Trip.location');
не работает. Кажется, что-то вроде, но я не уверен, что.
Массив $ quotes, который я передаю, выглядит следующим образом:
Array
(
[0] => Array
(
[Quote] => Array
(
[id] => 1
[attendance_id] => 15
[quote_text] => Hello
)
[Attendance] => Array
(
[id] => 15
[person_id] => 2
[trip_id] => 7
[Person] => Array
(
[id] => 2
[first_name] => John
[last_name] => Smith
)
[Trip] => Array
(
[id] => 7
[location] => La Plagne
[year] => 2000
[modified] =>
)
)
)
Я был бы очень признателен, если кто-то мог предположить, как я мог бы быть в состоянии сортировать по first_name на человека, связанного с котировке. Я подозреваю, что мой синтаксис неверен, но я не смог найти ответ. Разве это невозможно сортировать по ассоциации второго уровня таким образом?
Я в значительной степени новенький с cakephp, поэтому, пожалуйста, будьте осторожны.
Большое спасибо за внимание.
Вы решили решить эту проблему? Я столкнулся с тем же. Приветствия. – Nicolas
та же проблема, как справиться с этим – baur79
Облицовка одной и той же проблемы, как ее решить? – Deepak