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:----Ke/kumY29zSRhiM7zVXvRiexyAdTHdhmrVpFg2V36ADqvYgeCnlEGsOK5APG/NeU8umLbUjMTGxgk4lw5323vO8o9WUiKJX/03jC8KpA07/Ef/8qX90lXqCLOzg9yk2hAsUziqS7D+kGAJgrMs1adqCl3DifJFJBnh0YDeMoBtdEsYr60f/wBYnSWoSVlvYPjWZvKOAeYvuE2dqz19G9KIhZK7tz08ZC/luLHRpX12zfVr8f/r0iuFSPY+DsbHI406RawYSA4M1m21iut/vwNMJ+vD9e0IDuX9hodJHIlZ70V0u1umco32cLFxImOGvByiq+hhWqcg9RGkLLM9foJye1ehzg26tK0p7fcW4U6bxUCtTTfRN8aNl+H/O4h/a+JPLqLgt/YQZYrSeh7tJ1ynvm2XR8Y9ZWwY+QaKBlzmNeHV1l//DP6Tdf0SAj+P+c256g0w516ZjeVU+2CouvuwXcehWeb9vICzxYYQTGuDcrJdYAYsSMhy12R0nvKWMisDi0lwjyqDCmZ9kq2AvRY77YToFTkGhzcZR7cUuUDvtLnv+MSHPv0SJTIaDNRthA1ZNDgv60NQXH4IdNYG0NKwkXtIZDmPAraa9ZUaFDBjGyucaJV44SnSZeLf5TifIyxiL0/lFlTe1zvh1AC6eM5yfLLR0J8BwGJu/oGh9wnOQ=----ATTACHMENT:----NDcxNjA1NTI5NjQ3NzYxOCA3MDA5ODM4NTgwNjI1NDYgMzU0NzM0ODA1NjMzNzMzMA==