我正在开发一个基于线程的消息传递系统。
我有一个简单的查询来返回特定线程的所有消息,如下所示:
$t->messages->sortByDesc('updated_at')
在将其传递给return response()->json()
时,如果它有一条消息,则返回值为array
。而如果它有多条消息,则返回值是像{0 => {messageattribs}, 1 => {messageattribs}}
这样的对象的object
。
我想知道为什么会这样,以及为什么它不像第一种情况那样遵循没有索引键模式的数组。
默认情况下,Laravel会保留您所面对的索引数组。
致";删除";索引只会调用更多的几个方法:http://laravel.com/docs/5.1/collections#method-分拣
$t->messages->sortByDesc('updated_at')->values()->all();
它会像您想要的那样返回一个集合/集合。
希望它能有所帮助!
致以最良好的祝愿。
PS:让我邀请你参加Laravel课程,你可能会在那里学到一些新东西:Laravel course