Cakephp afterFind()帮助

Cakephp afterFind()帮助,cakephp,find,cakephp-1.3,Cakephp,Find,Cakephp 1.3,我在数组中有这样的搜索结果 Array ( [0] => Array ( [StatusMessage] => Array ( [id] => 1 [pid] => 0 [message] => First Status Message

我在数组中有这样的搜索结果

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] => 
                                        )

                                )

                        )

                )

        )

)
我想通过移除数组中的某些东西来修改它,使它看起来更漂亮一些

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] => 
                                        )

                        )

                )

        )

)

基本上删除项目部分并将用户向上移动一个级别

我会说不要。除了你,没有人会看到或关心这个。改变模型数据的内部格式并没有真正的好处。相反,它只会引起问题。保持内部数据格式一致


无论您是使用
$statusMessage['Item']['user']
还是
$statusMessage['user']
访问用户信息,都没有多大区别。如果您坚持这样做,我建议您通过查询中的
表将
用户
表直接发送到
状态消息
表,以放弃获取项目的额外步骤,Cake将自动按您希望的方式格式化结果。

我想说。除了你,没有人会看到或关心这个。改变模型数据的内部格式并没有真正的好处。相反,它只会引起问题。保持内部数据格式一致


无论您是使用
$statusMessage['Item']['user']
还是
$statusMessage['user']
访问用户信息,都没有多大区别。如果您坚持这样做,我建议您通过查询中的
items
表将
users
表直接发送到
status\u messages
表,以放弃获取项目的额外步骤,Cake将自动按照您想要的方式格式化结果。

如果您想限制返回的关联表和/或字段,您应该查看
Containable
。当你返回了一大堆你不需要的无趣的东西时,你可以通过把它们“包含”到你想要的东西中来稍微简化处理过程


但是正如Deceze所说,不要纯粹为了美观而修剪它。

如果您想限制返回的相关表和/或字段,您应该查看
Containable
。当你返回了一大堆你不需要的无趣的东西时,你可以通过把它们“包含”到你想要的东西中来稍微简化处理过程


但正如Deceze所说,不要纯粹为了美观而修剪它。

哦,好的。我认为代码会变得难看,需要重构:谢谢。哦,好的。我认为代码会变得难看,需要重构:谢谢。