Laravel集合中的返回值不一致


Inconsistent return values in Laravel collections

我正在开发一个基于线程的消息传递系统。

我有一个简单的查询来返回特定线程的所有消息,如下所示:

$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