お疲れ様です。
現在、CAKEPHP4を使って簡単なサービスを作りたいと思います。
やりたいものは、Log内容が入っているデータベースのoperation_logsというテーブルを読み込んで、Datetime型のope_dateフィールドから開始日時~終了日時間のデータを取り出し、配列に入れてAjaxに返すということです。
データベースからのデータ読み込みは、以下のコードで成功し、キャプチャ画面のようなデータセットを取得するまでは成功しました。
php
1$start_date = "2020-10-13 00:00:00"; 2$end_date = "2020-10-13 23:59:59"; 3$rc = $operation_logs 4 ->find() 5 ->select(['id','userid','username','ope_date']) 6 ->order(['ope_date'=>'DESC']) 7 ->where(function(QueryExpression $exp, Query $q) use ($start_date, $end_date) { 8 return $exp->between('ope_date',$start_date, $end_date,); 9 })->enableHydration(false)->toArray();
<結果データセット>
(int) 0 => [
'id' => (int) 1,
'userid' => 'testuser',
'username' => 'テストユーザー',
'ope_date' => [
'time' => '2020-10-13 09:19:21.000000+00:00',
'timezone' => 'UTC',
'fixedNowTime' => false,
],
],
問題は、ope_dateがなぜか自動的に配列になってしまい、要らないtimezoneやfixedNowTimeなどの値も含まれているので、time値の中でも必要な部分だけ取りたいです。つまり、ope_dateの値が以下のようになるようにしたいです。
'ope_date' => '2020-10-13 09:19:21'
CAKEPHPのマニュアルを読んでも適切な方法が見当たらなかったので質問します。
もし、方法があれば教えていただけると幸いです。
回答2件
あなたの回答
tips
プレビュー