我有这个数组:
array(
(int) 0 => array(
'Inscricao' => array(
'id' => '89560',
'codigo' => null,
'aluno_id' => '28065',
'turma_id' => '14377',
'estado_inscricao_id' => '13',
'nota_frequencia' => '12.00',
'nota_final' => '10.75',
'epoca_avaliacao_id' => null,
'data' => '2014-02-10',
'created' => '2015-08-31 07:12:42',
'modified' => '2015-09-02 01:31:00',
'matricula_id' => '136247',
'created_by' => null,
'modified_by' => null,
'pagamento_id' => null,
'tipo_inscricao_id' => '1',
'nota_exame_normal' => '9.50',
'nota_exame_recorrencia' => null,
'estado_inscricao' => '2',
'turma_inscricao_id' => null,
'turma_frequencia_id' => '14377'
),
'Turma' => array(
'id' => '14377',
'ano_lectivo_id' => '30',
'curso_id' => '18',
'plano_estudo_id' => '91',
'turno_id' => null,
'disciplina_id' => '394',
'capacidade_maxima' => null,
'total_aprovados' => null,
'media_turma' => null,
'estado_turma_id' => '1',
'modified' => '2015-08-31 07:02:54',
'created' => '2015-08-31 07:02:54',
'total_reprovados' => null,
'codigo' => '2011',
'ano_curricular' => '2',
'semestre_curricular' => '2',
'name' => 'Sociologia do Desporto - 2014 - Licenciatura em Ciências do Desporto - 2011',
'semestre_lectivo_id' => '66',
'sala_aula_id' => null,
'sequencia' => null,
'peso_nota_frequencia' => null,
'peso_nota_exame' => null,
'nota_minima_frequencia' => null,
'nota_minima_dispensa' => null,
'created_by' => null,
'modified_by' => null,
'pauta_path' => null,
'total_alunos' => '44',
'AnoLectivo' => array(
'id' => '30',
'codigo' => '2014',
'ano' => '2014',
'num_semestre' => null,
'data_inicio' => null,
'data_fim' => null,
'created' => '2013-10-08 05:13:51',
'modified' => '2013-10-08 05:13:51',
'regime_lectivo_id' => null
),
'Curso' => array(
'name' => 'Licenciatura em Ciências do Desporto'
),
'Turno' => array(),
'Disciplina' => array(
'id' => '394',
'name' => 'Sociologia do Desporto',
'codigo' => 'SOD',
'codigo_antigo' => null,
'created' => '1432892405',
'modified' => '1432892405',
'created_by' => '54193',
'modified_by' => null,
'unidade_organica_id' => null
)
),
'EstadoInscricao' => array(
'id' => '13',
'name' => 'Aprovado sem Exames'
),
'Matricula' => array(
'id' => '136247',
'codigo' => '',
'aluno_id' => '28065',
'curso_id' => '18',
'plano_estudo_id' => '91',
'data' => '2013-10-30',
'estado_matricula_id' => '1',
'modified' => '2015-08-31 06:55:53',
'created' => '2013-10-31 12:09:43',
'user_id' => '1',
'ano_lectivo_id' => '30',
'turno_id' => '1',
'nivel' => null,
'created_by' => '1',
'modified_by' => null,
'tipo_matricula_id' => '2',
'regime_lectivo_id' => null,
'financeiro_pagamento_id' => null,
'Aluno' => array(
'id' => '28065',
'codigo' => '20115466',
'user_id' => '28066',
'data_ingresso' => '1900-01-01',
'trabalhador' => null,
'area_trabalho_id' => null,
'instituicao_id' => null,
'curso_id' => '18',
'created' => '2011-03-02 14:15:30',
'modified' => '2015-08-31 06:55:52',
'entidade_id' => '28066',
'numero_estudante' => '20115466',
'aluno_via_admissao_id' => '13',
'numero_candidato' => null,
'ano_ingresso' => '2011',
'curso_ingresso_id' => '18',
'created_by' => null,
'modified_by' => null,
'nome_encarregado' => null,
'parentesco_encarregado' => null,
'telefone_encarregado' => null,
'telemovel_encarregado' => null,
'nome_emergencia' => null,
'telefone_emergencia' => null,
'telemovel_emergencia' => null,
'estado_aluno_id' => '1',
'plano_estudo_id' => '91',
'data_conclusao' => null,
'nota_conclusao' => null,
'certificado_nivel_anterior' => '1',
'recenseamento_militar' => '1',
'referencia_renovacao' => null,
'Entidade' => array(
'id' => '28066',
'name' => 'Elisa Luis Artur',
'nome_pai' => 'Luís Artur Vasco',
'nome_mae' => 'Jacinta António',
'foto' => '20115466.jpg',
'genero_id' => '2',
'pais_nascimento' => '152',
'cidade_morada' => null,
'bairro_morada' => null,
'caixa_postal_morada' => null,
'cidade_ferias' => null,
'cidade_nascimento' => '809',
'provincia_nascimento' => null,
'email' => '',
'telefone' => '',
'telemovel' => '825507722',
'documento_identificacao_id' => null,
'documento_identificacao_numero' => null,
'data_nascimento' => '1988-09-20',
'documento_identificacao_data_emissao' => null,
'estado_entidade_id' => null,
'created' => '2011-03-02 14:15:30',
'modified' => '2013-09-13 10:31:17',
'user_id' => '28066',
'documento_identificacao_local_emissao' => null,
'apelido' => 'Artur',
'nomes' => 'Elisa Luis ',
'created_by' => null,
'modified_by' => null,
'provincia_ferias' => null,
'telefone_ferias' => null,
'telemovel_ferias' => null,
'avenida_rua' => null,
'avenida_rua_ferias' => null,
'agregado_familiar_numero' => null,
'estado_civil' => '1',
'documento_identificacao_data_validade' => null,
'nacionalidade' => '1',
'codigo' => '41446',
'naturalidade' => null,
'nuit' => null,
'User' => array(
'password' => '*****',
'id' => '28066',
'username' => 'elisa.artur@uem.ac.mz',
'codigocartao' => '20115466',
'group_id' => '3',
'created_by' => null,
'modified_by' => null,
'ultimo_login' => null,
'codigo_activacao' => '1',
'estado_objecto_id' => '1',
'verificar_permissoes' => '0',
'created' => null,
'modified' => null,
'estado_email' => '0',
'timezone' => null,
'facebook_id' => null
)
)
)
)
),
(int) 1 => array(
'Inscricao' => array(
'id' => '92162',
'codigo' => null,
'aluno_id' => '28446',
'turma_id' => '14377',
'estado_inscricao_id' => '10',
'nota_frequencia' => '10.00',
'nota_final' => '9.75',
'epoca_avaliacao_id' => null,
'data' => '2014-02-11',
'created' => '2015-08-31 07:31:54',
'modified' => '2015-09-02 01:31:00',
'matricula_id' => '130681',
'created_by' => null,
'modified_by' => null,
'pagamento_id' => null,
'tipo_inscricao_id' => '1',
'nota_exame_normal' => '9.50',
'nota_exame_recorrencia' => null,
'estado_inscricao' => '2',
'turma_inscricao_id' => null,
'turma_frequencia_id' => '14377'
),
'Turma' => array(
'id' => '14377',
'ano_lectivo_id' => '30',
'curso_id' => '18',
'plano_estudo_id' => '91',
'turno_id' => null,
'disciplina_id' => '394',
'capacidade_maxima' => null,
'total_aprovados' => null,
'media_turma' => null,
'estado_turma_id' => '1',
'modified' => '2015-08-31 07:02:54',
'created' => '2015-08-31 07:02:54',
'total_reprovados' => null,
'codigo' => '2011',
'ano_curricular' => '2',
'semestre_curricular' => '2',
'name' => 'Sociologia do Desporto - 2014 - Licenciatura em Ciências do Desporto - 2011',
'semestre_lectivo_id' => '66',
'sala_aula_id' => null,
'sequencia' => null,
'peso_nota_frequencia' => null,
'peso_nota_exame' => null,
'nota_minima_frequencia' => null,
'nota_minima_dispensa' => null,
'created_by' => null,
'modified_by' => null,
'pauta_path' => null,
'total_alunos' => '44',
'AnoLectivo' => array(
'id' => '30',
'codigo' => '2014',
'ano' => '2014',
'num_semestre' => null,
'data_inicio' => null,
'data_fim' => null,
'created' => '2013-10-08 05:13:51',
'modified' => '2013-10-08 05:13:51',
'regime_lectivo_id' => null
),
'Curso' => array(
'name' => 'Licenciatura em Ciências do Desporto'
),
'Turno' => array(),
'Disciplina' => array(
'id' => '394',
'name' => 'Sociologia do Desporto',
'codigo' => 'SOD',
'codigo_antigo' => null,
'created' => '1432892405',
'modified' => '1432892405',
'created_by' => '54193',
'modified_by' => null,
'unidade_organica_id' => null
)
),
'EstadoInscricao' => array(
'id' => '10',
'name' => 'Reprovado'
),
'Matricula' => array(
'id' => '130681',
'codigo' => '',
'aluno_id' => '28446',
'curso_id' => '97',
'plano_estudo_id' => null,
'data' => '2013-10-17',
'estado_matricula_id' => '1',
'modified' => '2014-01-13 10:22:24',
'created' => '2013-10-17 11:18:10',
'user_id' => '1',
'ano_lectivo_id' => '30',
'turno_id' => '2',
'nivel' => null,
'created_by' => '1',
'modified_by' => null,
'tipo_matricula_id' => '2',
'regime_lectivo_id' => null,
'financeiro_pagamento_id' => null,
'Aluno' => array(
'id' => '28446',
'codigo' => '20116158',
'user_id' => '28447',
'data_ingresso' => '1900-01-01',
'trabalhador' => null,
'area_trabalho_id' => null,
'instituicao_id' => null,
'curso_id' => '97',
'created' => '2011-03-25 10:07:04',
'modified' => '2013-06-16 22:17:58',
'entidade_id' => '28447',
'numero_estudante' => '20116158',
'aluno_via_admissao_id' => '13',
'numero_candidato' => null,
'ano_ingresso' => '2012',
'curso_ingresso_id' => '18',
'created_by' => null,
'modified_by' => null,
'nome_encarregado' => null,
'parentesco_encarregado' => null,
'telefone_encarregado' => null,
'telemovel_encarregado' => null,
'nome_emergencia' => null,
'telefone_emergencia' => null,
'telemovel_emergencia' => null,
'estado_aluno_id' => '1',
'plano_estudo_id' => null,
'data_conclusao' => null,
'nota_conclusao' => null,
'certificado_nivel_anterior' => '1',
'recenseamento_militar' => '1',
'referencia_renovacao' => null,
'Entidade' => array(
'id' => '28447',
'name' => 'Paulo José Pelembe',
'nome_pai' => 'Mundau José Pelembe',
'nome_mae' => 'Rosa Fomo',
'foto' => '20116158.jpg',
'genero_id' => '1',
'pais_nascimento' => '152',
'cidade_morada' => null,
'bairro_morada' => null,
'caixa_postal_morada' => null,
'cidade_ferias' => null,
'cidade_nascimento' => '1101',
'provincia_nascimento' => null,
'email' => '',
'telefone' => '',
'telemovel' => '828352330',
'documento_identificacao_id' => null,
'documento_identificacao_numero' => null,
'data_nascimento' => '1976-12-17',
'documento_identificacao_data_emissao' => null,
'estado_entidade_id' => null,
'created' => '2011-03-25 10:07:03',
'modified' => '2013-09-13 10:37:47',
'user_id' => '28447',
'documento_identificacao_local_emissao' => null,
'apelido' => 'Pelembe',
'nomes' => 'Paulo José ',
'created_by' => null,
'modified_by' => null,
'provincia_ferias' => null,
'telefone_ferias' => null,
'telemovel_ferias' => null,
'avenida_rua' => null,
'avenida_rua_ferias' => null,
'agregado_familiar_numero' => null,
'estado_civil' => '1',
'documento_identificacao_data_validade' => null,
'nacionalidade' => '1',
'codigo' => '41832',
'naturalidade' => null,
'nuit' => null,
'User' => array(
'password' => '*****',
'id' => '28447',
'username' => 'paulo.pelembe@uem.ac.mz',
'codigocartao' => '20116158',
'group_id' => '3',
'created_by' => null,
'modified_by' => null,
'ultimo_login' => null,
'codigo_activacao' => '1',
'estado_objecto_id' => '1',
'verificar_permissoes' => '0',
'created' => null,
'modified' => null,
'estado_email' => '0',
'timezone' => null,
'facebook_id' => null
)
)
)
)
),
(int) 2 => array(
'Inscricao' => array(
'id' => '92200',
'codigo' => null,
'aluno_id' => '28504',
'turma_id' => '14377',
'estado_inscricao_id' => '13',
'nota_frequencia' => '10.00',
'nota_final' => '10.25',
'epoca_avaliacao_id' => null,
'data' => '2014-02-10',
'created' => '2015-08-31 07:32:17',
'modified' => '2015-09-02 01:31:00',
'matricula_id' => '141228',
'created_by' => null,
'modified_by' => null,
'pagamento_id' => null,
'tipo_inscricao_id' => '1',
'nota_exame_normal' => '8.50',
'nota_exame_recorrencia' => '10.50',
'estado_inscricao' => '2',
'turma_inscricao_id' => null,
'turma_frequencia_id' => '14377'
),
'Turma' => array(
'id' => '14377',
'ano_lectivo_id' => '30',
'curso_id' => '18',
'plano_estudo_id' => '91',
'turno_id' => null,
'disciplina_id' => '394',
'capacidade_maxima' => null,
'total_aprovados' => null,
'media_turma' => null,
'estado_turma_id' => '1',
'modified' => '2015-08-31 07:02:54',
'created' => '2015-08-31 07:02:54',
'total_reprovados' => null,
'codigo' => '2011',
'ano_curricular' => '2',
'semestre_curricular' => '2',
'name' => 'Sociologia do Desporto - 2014 - Licenciatura em Ciências do Desporto - 2011',
'semestre_lectivo_id' => '66',
'sala_aula_id' => null,
'sequencia' => null,
'peso_nota_frequencia' => null,
'peso_nota_exame' => null,
'nota_minima_frequencia' => null,
'nota_minima_dispensa' => null,
'created_by' => null,
'modified_by' => null,
'pauta_path' => null,
'total_alunos' => '44',
'AnoLectivo' => array(
'id' => '30',
'codigo' => '2014',
'ano' => '2014',
'num_semestre' => null,
'data_inicio' => null,
'data_fim' => null,
'created' => '2013-10-08 05:13:51',
'modified' => '2013-10-08 05:13:51',
'regime_lectivo_id' => null
),
'Curso' => array(
'name' => 'Licenciatura em Ciências do Desporto'
),
'Turno' => array(),
'Disciplina' => array(
'id' => '394',
'name' => 'Sociologia do Desporto',
'codigo' => 'SOD',
'codigo_antigo' => null,
'created' => '1432892405',
'modified' => '1432892405',
'created_by' => '54193',
'modified_by' => null,
'unidade_organica_id' => null
)
),
'EstadoInscricao' => array(
'id' => '13',
'name' => 'Aprovado sem Exames'
),
'Matricula' => array(
'id' => '141228',
'codigo' => '',
'aluno_id' => '28504',
'curso_id' => '18',
'plano_estudo_id' => '91',
'data' => '2013-10-31',
'estado_matricula_id' => '1',
'modified' => '2015-08-31 06:56:21',
'created' => '2013-11-01 07:56:44',
'user_id' => '1',
'ano_lectivo_id' => '30',
'turno_id' => '1',
'nivel' => null,
'created_by' => '1',
'modified_by' => null,
'tipo_matricula_id' => '2',
'regime_lectivo_id' => null,
'financeiro_pagamento_id' => null,
'Aluno' => array(
'id' => '28504',
'codigo' => '20116434',
'user_id' => '28505',
'data_ingresso' => '1900-01-01',
'trabalhador' => null,
'area_trabalho_id' => null,
'instituicao_id' => null,
'curso_id' => '18',
'created' => '2011-03-28 12:12:43',
'modified' => '2015-08-31 06:56:21',
'entidade_id' => '28505',
'numero_estudante' => '20116434',
'aluno_via_admissao_id' => '13',
'numero_candidato' => null,
'ano_ingresso' => '2011',
'curso_ingresso_id' => '18',
'created_by' => null,
'modified_by' => null,
'nome_encarregado' => null,
'parentesco_encarregado' => null,
'telefone_encarregado' => null,
'telemovel_encarregado' => null,
'nome_emergencia' => null,
'telefone_emergencia' => null,
'telemovel_emergencia' => null,
'estado_aluno_id' => '1',
'plano_estudo_id' => '91',
'data_conclusao' => null,
'nota_conclusao' => null,
'certificado_nivel_anterior' => '1',
'recenseamento_militar' => '1',
'referencia_renovacao' => null,
'Entidade' => array(
'id' => '28505',
'name' => 'Lina Mário Matola',
'nome_pai' => 'Mário Augusto Matola',
'nome_mae' => 'Lina Albino Manjate',
'foto' => '20116434.jpg',
'genero_id' => '2',
'pais_nascimento' => '152',
'cidade_morada' => null,
'bairro_morada' => null,
'caixa_postal_morada' => null,
'cidade_ferias' => null,
'cidade_nascimento' => '1101',
'provincia_nascimento' => null,
'email' => 'linamario16@yahoo.com.br ',
'telefone' => '',
'telemovel' => '828322450',
'documento_identificacao_id' => null,
'documento_identificacao_numero' => null,
'data_nascimento' => '1988-04-13',
'documento_identificacao_data_emissao' => null,
'estado_entidade_id' => null,
'created' => '2011-03-28 12:12:42',
'modified' => '2013-09-13 10:38:41',
'user_id' => '28505',
'documento_identificacao_local_emissao' => null,
'apelido' => 'Matola',
'nomes' => 'Lina Mário',
'created_by' => null,
'modified_by' => null,
'provincia_ferias' => null,
'telefone_ferias' => null,
'telemovel_ferias' => null,
'avenida_rua' => null,
'avenida_rua_ferias' => null,
'agregado_familiar_numero' => null,
'estado_civil' => '1',
'documento_identificacao_data_validade' => null,
'nacionalidade' => '1',
'codigo' => '41891',
'naturalidade' => null,
'nuit' => null,
'User' => array(
'password' => '*****',
'id' => '28505',
'username' => 'lina.matola@uem.ac.mz',
'codigocartao' => '20116434',
'group_id' => '3',
'created_by' => null,
'modified_by' => null,
'ultimo_login' => null,
'codigo_activacao' => '1',
'estado_objecto_id' => '1',
'verificar_permissoes' => '0',
'created' => null,
'modified' => null,
'estado_email' => '0',
'timezone' => null,
'facebook_id' => null
)
)
)
)
),
(int) 3 => array(
我希望根据键" apelido"对此进行排序。在PHP中执行此操作的最佳方法是什么?
注意:Key apelido在[0] [' Matricula'] [' Aluno'] [' Entidade'] [' apelido&# 39;]
注2:这是CakePHP找到Containable的结果。蛋糕可以在查找期间对其进行排序吗?
答案 0 :(得分:5)
使用Hash::sort()
,它接受Hash path syntax格式的路径,允许指定深层嵌套路径。
$sorted = Hash::sort($data, '{n}.Matricula.Aluno.Entidade.apelido');
更多参数定义排序顺序和排序类型,有关详细信息,请参阅 Cookbook > Core Libraries > Utilities > Hash > Hash::sort() 。
如果您希望按查找调用对其进行排序,则可以在Model::afterFind()
回调中修改结果,或者在自定义查找器中修改结果,请参阅