【发布时间】:2016-02-27 13:26:21
【问题描述】:
我正在开发基于线程的消息传递系统。
我有一个简单的查询来返回特定线程的所有消息:
$t->messages->sortByDesc('updated_at')
将其传递给return response()->json() 时,如果它有一条消息,则返回值为array。而如果它有多个消息,则返回值是 object 对象,如 {0 => {messageattribs}, 1 => {messageattribs}}。
我想知道为什么会这样,以及为什么它不像第一种情况那样在没有索引键模式的情况下不遵循数组。
【问题讨论】:
-
这是一个多维数组,是一回事。第一个是 1 行,第二个是多行。
-
@MinaYoussef 问题是为什么它不能是 [{messageattribs},{messageattribs}] 而不是 {0 => {messageattribs}, 1 => {messageattribs}}。没有索引键的数组将是与第一种情况一致的数组。
-
如果我理解正确,这就是 Eloquent 的工作原理,如果你喜欢 laravel.com/docs/5.1/eloquent-collections#custom-collections,你可以使用自定义集合
标签: php json sorting laravel-5 laravel-5.1