我試圖提交一個DB:raw()
查詢,來測試MySQL CAST()
函數。Laravel 5.4 - 「DB:raw()」使用MySQL「CAST()」函數
我Model
包含:
class User extend Model
{
public static function myMethodDate()
{
$var = DB::select(
DB::raw("SELECT CAST('2017-05-24 13:38:35.471001' AS DATETIME(3)) AS arrival_time")
);
dd($var[0]->arrival_time);
}
}
當我打電話的myMethodDate()
方法,它返回:
"2017-05-24 13:38:35"
,但如果我在MySQL shell中運行它:
mysql>
mysql> SELECT CAST('2017-05-24 13:38:35.471001' AS DATETIME(3)) AS arrival_time;
+-------------------------+
| arrival_time |
+-------------------------+
| 2017-05-24 13:38:35.471 |
+-------------------------+
1 row in set (0.00 sec)
mysql>
與「毫秒」。
爲什麼Laravel DB:raw()
查詢不報告MySQL CAST()
輸出?
謝謝。
我不能得到MySQL的輸出「原樣」,沒有使用格式()? – vlauciani
在內部,'php'使用格式('Ymd H:i:s')'當您將其轉換爲字符串時 – JRLambert
我再次測試並運行DB :: select(DB :: raw(「SELECT'2017- 05-24 13:38:36.471001'AS arrival_time「));'正確返回'」2017-05-24 13:38:36.471001「'。我認爲問題在於MySQL'CAST()'函數。 – vlauciani