Я пытаюсь отсортировать коллекцию, которая состоит из идентификаторов и полных имен, в алфавитном порядке по фамилии.Идентификатор исходит из родительского класса, а полное имя - от дочернего.
Я пытался разбить строку и упорядочить ее по фамилии, но не смог заставить ее правильно переупорядочить идентификаторы.Я пробовал как с sortBy при получении коллекции, так и с usort после ее получения
$testExaminers=TestExaminer::where('test_id',$request->testid)
->with('examiner')
->get()
->sortBy('examiner.name');
$result = array();
$num=0;
foreach($testExaminers as $testExaminer) {
$result[$num]['id'] = (int) $testExaminer->examiner_id;
$result[$num]['text'] = $testExaminer->examiner->name;
$num++;
}
echo json_encode(['examiners'=>$result]);
Приведенный выше код прекрасно работает для сортировки по имени, но мне нужно отсортировать по фамилии.
пользователь вводит test_id, который выдает список «TestExaminers», у каждого есть свойство «examiner_id», связанное с уникальным «examiner», которое, в свою очередь, имеет имя «firstname middlename lastname».поэтому он должен выглядеть примерно так
до сортировки
$result = [[1,'Alpha Z. Goodman'],[2,'Joe Bman'],[3,'ZZ Top'],[4,'Joe Aman']]
после сортировки
$result = [[4,'Joe Aman'],[2,'Joe Bman'],[1,'Alpha Z. Goodman'],[3,'ZZ Top']]
Спасибо!