Pergunta

Eu tenho um resultado de pesquisa como este em uma matriz

Array
(
    [0] => Array
        (
            [StatusMessage] => Array
                (
                    [id] => 1
                    [pid] => 0
                    [message] => First Status Message
                    [item_id] => 1
                    [commenters_item_id] => 2
                    [created] => 2010-10-26 02:09:05
                    [modified] => 2010-10-26 02:09:09
                )

            [Item] => Array
                (
                    [id] => 1
                    [module_id] => 1
                    [item_id] => 1
                    [User] => Array
                        (
                            [id] => 1
                            [first_name] => Harsha
                            [last_name] => Vantagudi
                            [username] => harshamv
                            [file] => 
                        )

                )

            [StatusMessageReply] => Array
                (
                    [0] => Array
                        (
                            [id] => 2
                            [pid] => 1
                            [message] => Second Status Message
                            [item_id] => 1
                            [commenters_item_id] => 1
                            [created] => 2010-10-26 02:09:05
                            [modified] => 2010-10-26 02:09:09
                            [Item] => Array
                                (
                                    [id] => 1
                                    [module_id] => 1
                                    [item_id] => 1
                                    [User] => Array
                                        (
                                            [id] => 1
                                            [first_name] => Harsha
                                            [last_name] => Vantagudi
                                            [username] => harshamv
                                            [file] => 
                                        )

                                )

                        )

                )

        )

)

Eu quero modificá -lo para torná -lo um pouco mais bonito, removendo certas coisas na matriz

Array
(
    [0] => Array
        (
            [StatusMessage] => Array
                (
                    [id] => 1
                    [pid] => 0
                    [message] => First Status Message
                    [item_id] => 1
                    [commenters_item_id] => 2
                    [created] => 2010-10-26 02:09:05
                    [modified] => 2010-10-26 02:09:09
                )

                    [User] => Array
                        (
                            [id] => 1
                            [first_name] => Harsha
                            [last_name] => Vantagudi
                            [username] => harshamv
                            [file] => 
                        )

            [StatusMessageReply] => Array
                (
                    [0] => Array
                        (
                            [id] => 2
                            [pid] => 1
                            [message] => Second Status Message
                            [item_id] => 1
                            [commenters_item_id] => 1
                            [created] => 2010-10-26 02:09:05
                            [modified] => 2010-10-26 02:09:09
                                    [User] => Array
                                        (
                                            [id] => 1
                                            [first_name] => Harsha
                                            [last_name] => Vantagudi
                                            [username] => harshamv
                                            [file] => 
                                        )

                        )

                )

        )

)

Remova basicamente a parte do item e mude o usuário um nível

Foi útil?

Solução

eu diria não. Ninguém vai ver ou se preocupar com isso, exceto você. E não há benefício real em alterar o formato interno dos dados do modelo. Pelo contrário, só pode causar problemas. Mantenha seus formatos de dados internos consistentes!

Se você acessa as informações do usuário usando $statusMessage['Item']['User'] ou $statusMessage['User'] Realmente não faz muita diferença. Se você insistir nisso, sugiro que você Junte a users tabela diretamente para o status_messages Tabela via items A tabela na consulta para renunciar à etapa extra de buscar o item, e o bolo formará automaticamente os resultados da maneira que desejar.

Outras dicas

Se você deseja restringir as tabelas e / ou campos associados que são devolvidos, você deve olhar Containable. Quando você tem uma grande pilha de coisas desinteressantes que você não precisa, pode facilitar o processamento um pouco por 'contendo' com o que deseja.

Mas como Deceze diz, não faça Apare -o puramente para a estética.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top