浏览代码

fixed get multiple when no value

develop
Robin Thoni 9 年前
父节点
当前提交
4ad21ff978
共有 2 个文件被更改,包括 13 次插入5 次删除
  1. 5
    2
      src/Utils/DataAccess/LuDataAccess.php
  2. 8
    3
      tests/DatabaseTest.php

+ 5
- 2
src/Utils/DataAccess/LuDataAccess.php 查看文件

6
 use Illuminate\Database\Connection;
6
 use Illuminate\Database\Connection;
7
 use Illuminate\Database\Query\Builder;
7
 use Illuminate\Database\Query\Builder;
8
 use Luticate\Utils\Business\LuArrayUtils;
8
 use Luticate\Utils\Business\LuArrayUtils;
9
+use Luticate\Utils\Business\LuStringUtils;
9
 use Luticate\Utils\Dbo\LuDbo;
10
 use Luticate\Utils\Dbo\LuDbo;
10
 
11
 
11
 abstract class LuDataAccess {
12
 abstract class LuDataAccess {
89
     {
90
     {
90
         $query = static::resolveQuery($query);
91
         $query = static::resolveQuery($query);
91
         $string = $query->aggregate("json_agg", [static::$_table_as]);
92
         $string = $query->aggregate("json_agg", [static::$_table_as]);
92
-        $json = json_decode($string, true);
93
-        $data = LuArrayUtils::snakeToCamelCase($json);
93
+        if (is_null($string)) {
94
+            return [];
95
+        }
96
+        $data = LuStringUtils::convertJsonString($string);
94
         
97
         
95
         return call_user_func([static::$_dboArrayClass, 'jsonDeserialize'], $data);
98
         return call_user_func([static::$_dboArrayClass, 'jsonDeserialize'], $data);
96
     }
99
     }

+ 8
- 3
tests/DatabaseTest.php 查看文件

1
 <?php
1
 <?php
2
+use Illuminate\Database\Query\Builder;
2
 use Luticate\Utils\Controller\LuticateApplication;
3
 use Luticate\Utils\Controller\LuticateApplication;
3
 use Illuminate\Database\Capsule\Manager as Capsule;
4
 use Illuminate\Database\Capsule\Manager as Capsule;
4
 use Luticate\Utils\DataAccess\LuDataAccess;
5
 use Luticate\Utils\DataAccess\LuDataAccess;
140
 //                'name'      => 'mydb',
141
 //                'name'      => 'mydb',
141
 //                'driver'    => 'pgsql',
142
 //                'driver'    => 'pgsql',
142
 //                'host'      => '172.17.0.1',
143
 //                'host'      => '172.17.0.1',
143
-//                'database'  => 'intra_betaclean',
144
+//                'database'  => 'luticate2',
144
 //                'username'  => 'dev',
145
 //                'username'  => 'dev',
145
 //                'password'  => 'dev'
146
 //                'password'  => 'dev'
146
 //            ]
147
 //            ]
147
 //        ]];
148
 //        ]];
148
 //        $app = new LuticateApplication($config);
149
 //        $app = new LuticateApplication($config);
149
 //        $app->setupDatabases();
150
 //        $app->setupDatabases();
150
-        
151
+//        
151
 //        $dbo = new TestTableDbo();
152
 //        $dbo = new TestTableDbo();
152
 //        $dbo->setId(11);
153
 //        $dbo->setId(11);
153
 //        $dbo->setSomeIntegerArray('{}');
154
 //        $dbo->setSomeIntegerArray('{}');
154
 //        $dbo->setSomeText("lol2");
155
 //        $dbo->setSomeText("lol2");
155
-
156
+//
157
+//        var_dump(TestTableDataAccess::getMultiple(function(Builder $q)
158
+//        {
159
+//            return $q->where("id", "=", 1);
160
+//        }));
156
 //        var_dump(TestTableDataAccess::getSingleById(1));
161
 //        var_dump(TestTableDataAccess::getSingleById(1));
157
 //        var_dump(TestTableDataAccess::deleteMultiple(function($q)
162
 //        var_dump(TestTableDataAccess::deleteMultiple(function($q)
158
 //        {
163
 //        {

正在加载...
取消
保存