2015-05-28 16 views
7

Trong một cơ sở dữ liệu MySQL Tôi có một trường datetime được lưu trữ như thế này:laravel được microtime từ cơ sở dữ liệu

2015-05-12 13:58:25.000508

Nhưng khi tôi thực hiện truy vấn này, ví dụ:

$query = SdkEvent::with('sdkEventStack'); 

      if (isset($params['CO_ID']) && $params['CO_ID'] != "") { 
       $query->where('CO_ID', $params['CO_ID']); 
      } 

      if (isset($params['APP_ID']) && $params['APP_ID'] != "") { 
       $query->where('APP_ID', $params['APP_ID']); 
      } 

      if (isset($params['app_ip']) && $params['app_ip'] != "") { 
       $query->where('SDKEVENT_IP', 'LIKE', $params['app_ip'].'%'); 
      } 

      if (isset($params['PLACE_ID']) && $params['PLACE_ID'] != "") { 
       $query->where('PLACEMENT_ID', $params['PLACE_ID']); 
      } 

    $sdks = $query->get(); 

tôi nhận được datetime như thế này: 2015-05-12 13:58:25 Tại sao tôi không nhận được micro giây?

+0

Loại dữ liệu nào bạn lưu trữ trong MySQL? – Pitchinnate

Trả lời

1

Đây không phải là vấn đề với Laravel, đây là vấn đề với PDO, mà Laravel sử dụng để thực hiện truy vấn cơ sở dữ liệu.

Để biết thêm thông thấy câu hỏi này khác: PHP How to return datetime(6) from Mysql?

hoặc báo cáo lỗi thực tế

http://grokbase.com/t/php/php-bugs/11524dvh68/php-bug-bug-54648-new-pdo-forces-format-of-datetime-fields

Bạn có thể kéo micro bằng cách sử dụng một tuyên bố DB::select(). Ví dụ:

$test = DB::select("SELECT id, DATE_FORMAT(date, '%Y-%m-%d %H:%i:%f') as date FROM test"); 
+0

thx nó đã hoạt động :) bạn đã cứu tôi! – karmous

Các vấn đề liên quan