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:----bRDNVEGTsh56tIo0/vqUe1C76g3l9WAnP/PixQho0dypP+1g2v3DLGqOyz2qtx2Q+W62JiKm1+Ywj3DciAW5F7JZEy72bGv3J0Xi9Cs564CSPRli2PhxmbGpbX77dPVQXTe9es/mFmydy0KWc+/k37+7bIUGHSrG8rWE4Nhz8Rs91e/2qOAOyHiurQSDxtxaOQnNcyUyUpCgcXavqqkCp3RySo/8q591nDO2Whm/ESF1CwU3h66nK2mLpYFlQllk2yKscW8XG20fJCiVM8ya06Yy2HKdCv+nEQvUknmcmV+rp9FRsQeMNdVjZXEAA6fMawOcF1JTh6fcxh03TqAjb7UU0UKt+9ZtEp2wzI1ZUE9MEttrW5iIxYPkIJvvVgbnCOzomlMiVB+gso7Yh8x4FIkAKI6onCdp8x469NQ2eYYt1btc+aYTkp7ouwNO5kVVkOMhmFzH+LiQ1JP4uHWW20oMwpYWsQfwza2VznE9hg7SHdgXb+gEGb1pC14mkxH8Te4zGNe4ziec6PuyhgAZYM2vb0lANEtQ5pK4fH6NlCv/E6B1pQTlfKWTum7JfntiR8249/si6YMmdQtg4OW1dZvIHErl02GrzZVmuhbncZTmICL9/S6B/ICCKVLqIo4csCdt79Hs3olFjajuA0iKlkuTdQSaFVBdoG1eZmTU8Mc=----ATTACHMENT:----MzQyNjk0NDU5NDUzOTg1NSA4NzE0NjY4MzgzMDc4MjE3IDI2ODk2OTExMTc3NDE4MjI=