2017-07-04 49 views
0

當使用Eloquent模型嘗試使用created_at列排序記錄時,我遇到了一些問題。訂購作品日期但不是時間。例如,如果我有3條記錄與created_at值:通過created_at排序不能與Eloquent模型一起工作

  • 2017年7月4日7時16分33秒
  • 2017年7月4日5時35分01秒
  • 2017年7月4日05: 27:48

    當使用orderby('created_at','desc')或'asc'時,我有相同的輸出。然而訂貨工作,如果我有例如

  • 2017年7月4日 5點27分48秒

  • 2017年7月3日 6點35分50秒

訂購作品也當我使用原始查詢時。只有當我使用雄辯模型時纔會出現這個問題。

有沒有人知道爲什麼會發生這種情況?在此先感謝

+0

什麼是您的架構代碼? –

+0

@AhmadMobaraki這裏是我在我的控制器中:$ connections = Connection :: orderBy('created_at','desc') - > paginate(10); – Katerina

+0

我的意思是你的遷移文件!任何方式試試這個:'$ connections = Connection :: orderBy('created_at','desc') - > paginate(10);' –

回答

0

不確定您使用的是什麼版本的Laravel。但是最好將php中的datetime值轉換爲Carbon類型以進行排序和過濾。請嘗試先轉換這些值,然後對它們進行排序。祝你的代碼好運。

問候,

安迪·巴

+0

我使用的是Laravel 5.3,雖然我是Laravel的新手,但在使用OrderBy和雄辯模型時,它是訂購記錄的默認方式。不管怎麼說,還是要謝謝你 – Katerina

1

喔,這是我不好!我解決了這個問題,它在獲取數據時不是服務器端的問題,而是在客戶端,因爲我使用'dataTables'