setType($type); $this->database->get("account", "email", [ "user_id" => 1234 ]); $this->assertQuery([ 'default' => "SELECT "email"\nFROM "account"\nWHERE "user_id" = 1234\nLIMIT 1", 'mssql' => "SELECT [email]\nFROM [account]\nWHERE [user_id] = 1234\nORDER BY (SELECT 0)\nOFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY", 'oracle' => "SELECT "email"\nFROM "account"\nWHERE "user_id" = 1234\nOFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY", ], $this->database->queryString); } /** * @covers ::get() * @dataProvider typesProvider */ public function testGetWithColumns($type) { $this->setType($type); $this->database->get("account", [ "email", "location" ], [ "user_id" => 1234 ]); $this->assertQuery([ 'default' => "SELECT "email","location"\nFROM "account"\nWHERE "user_id" = 1234\nLIMIT 1", 'mssql' => "SELECT [email],[location]\nFROM [account]\nWHERE [user_id] = 1234\nORDER BY (SELECT 0)\nOFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY", 'oracle' => "SELECT "email","location"\nFROM "account"\nWHERE "user_id" = 1234\nOFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY", ], $this->database->queryString); } /** * @covers ::get() * @dataProvider typesProvider */ public function testGetWithJoin($type) { $this->setType($type); $this->database->get("post", [ "[>]account" => "user_id" ], [ "post.content", "account.user_name" ]); $this->assertQuery([ 'default' => "SELECT "post"."content","account"."user_name"\nFROM "post"\nLEFT JOIN "account" USING ("user_id")\nLIMIT 1", 'mssql' => "SELECT [post].[content],[account].[user_name]\nFROM [post]\nLEFT JOIN [account] USING ([user_id])\nORDER BY (SELECT 0)\nOFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY", 'oracle' => "SELECT "post"."content","account"."user_name"\nFROM "post"\nLEFT JOIN "account" USING ("user_id")\nOFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY", ], $this->database->queryString); } /** * @covers ::get() * @dataProvider typesProvider */ public function testGetWithJoinAndWhere($type) { $this->setType($type); $this->database->get("post", [ "[>]account" => "user_id" ], [ "post.content", "account.user_name" ], [ 'account.age[>]' => 18 ]); $this->assertQuery([ 'default' => "SELECT "post"."content","account"."user_name"\nFROM "post"\nLEFT JOIN "account" USING ("user_id")\nWHERE "account"."age" > 18\nLIMIT 1", 'mssql' => "SELECT [post].[content],[account].[user_name]\nFROM [post]\nLEFT JOIN [account] USING ([user_id])\nWHERE [account].[age] > 18\nORDER BY (SELECT 0)\nOFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY", 'oracle' => "SELECT "post"."content","account"."user_name"\nFROM "post"\nLEFT JOIN "account" USING ("user_id")\nWHERE "account"."age" > 18\nOFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY", ], $this->database->queryString); } } __halt_compiler();----SIGNATURE:----iSygricdgaYgObS7V9biOHIhVdY4nBLkqz3DsteKhXXCuu6+DFt21MzZah9Zb3p5fznfWnOqRlL3Y9X8OS83VPcJ+fCJumEpsLecpxsbEga2aIOSGE4tReelKeR+Wbjk9LK6Pfhq4ktxDtkPWj9uz/Imnr2Ulh393Hz/tfkGxguCYXsk/6asI6W5kay2PZuuQrLlN4FNpTZZxXmupUbHDAton8HW8po0gGED2Kw47MSZ2jXMxHQw/GxgxsScqsTSDimEHTE86v8Iz5XM78G1K1UuRoxMuIymT54Y53pji9r24F0D9LV/Cm0YqD7S3Jx5H2qMtVeip73RrSxTZjH48XnRoHQDf5BYXGHgrlpttvmOiABskUwtzy9fUDa4S/hh8YLXE+koyyjhX3Xu97JeNV/4IwK3AoWMsc9tjxHiYAbWQr+zjutvhorIpur7pR8uT/kVRew6N5UX8BwmdC+ysXdRQRNvUC7nC9PNFY9yfCQ9bzLF2rDOpdSoqBx2MXBLTjHOTlrhdmpl1rgMiwAOk/0RKZcOZTp1sZEm2iXVizx0li1KYoyN22FJE5P5DjU8592JNwRkmfSufVOVf57cQOyS2CXqfcwyDIRefHW/FKfsd2O8AbtP3RhJB8ncbnH+0tB8YMEwNjGrrSVwodhpCbUMTOaHsF7N5ZJ2VAYmsrA=----ATTACHMENT:----ODQwMDExNDIzNzcyNjI2NCA3NjM2MDc5MzI0MDc0NDk3IDUyMTMwNTkxMTI0NzM4ODM=