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所说,不要纯粹为了美观而修剪它。哦,好的。我认为代码会变得难看,需要重构:谢谢。哦,好的。我认为代码会变得难看,需要重构:谢谢。