2015-11-24 54 views
1

我正在研究基於線程的消息傳遞系統。Laravel集合中返回值不一致

我有一個簡單的查詢返回的所有消息的像一個特定的主題:

$t->messages->sortByDesc('updated_at')

雖然通過這個給return response()->json(),如果它有一個消息的返回值是一個array。而如果它有多個消息,返回值是的對象,如{0 => {messageattribs}, 1 => {messageattribs}}

我想知道這是爲什麼,以及爲什麼它不跟隨沒有索引鍵模式的數組,如第一種情況。

+0

這是一個多維數組,這是同樣的事情。第一行是1行,而第二行是多行。 –

+0

@MinaYoussef問題是爲什麼它不能是{{messageattribs},{messageattribs}]而不是{0 => {messageattribs},1 => {messageattribs}}。沒有索引鍵的數組將是具有第一種情況的一致數組。 – Kornel

+1

如果我理解正確,這是如何雄辯的作品,你可以使用自定義集合,如果你喜歡http://laravel.com/docs/5.1/eloquent-collections#custom-collections –

回答

1

默認情況下,Laravel保持索引數組,正如您所面對的那樣。

要「刪除」,用來索引只需要調用一些夫婦的方法更多:http://laravel.com/docs/5.1/collections#method-sortby

$t->messages->sortByDesc('updated_at')->values()->all(); 

它會返回,就像你想要一組/集合。

希望它有幫助!

祝福。

PS:讓我請你到Laravel當然,你可以學到新的東西有:Laravel Course

+0

謝謝@juandmegon,我通過這部分文檔。 :D – Kornel

+0

不客氣,我很高興它有幫助。 – JuanDMeGon