{"id":5012,"date":"2021-08-09T08:43:14","date_gmt":"2021-08-09T08:43:14","guid":{"rendered":"https:\/\/www.bearloga.space\/?page_id=5012"},"modified":"2021-08-09T08:43:14","modified_gmt":"2021-08-09T08:43:14","slug":"yii-obekty-dostupa-k-dannym","status":"publish","type":"page","link":"https:\/\/www.bearloga.space\/uk\/yii-obekty-dostupa-k-dannym\/","title":{"rendered":"Yii \u2014 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0434\u0430\u043d\u043d\u044b\u043c"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u0427\u0442\u043e\u0431\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c&nbsp;<strong>\u0437\u0430\u043f\u0440\u043e\u0441 SQL<\/strong>&nbsp;, \u0432\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0448\u0430\u0433\u0438:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443&nbsp;<em>yii \\ db \\<\/em>&nbsp;\u0441 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c SQL.<\/li><li>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 (\u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e)<\/li><li>\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0428\u0430\u0433 1<\/strong>&nbsp;\u2014 \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0441 \u0438\u043c\u0435\u043d\u0435\u043c&nbsp;<strong>actionTestDb<\/strong>&nbsp;\u0432 SiteController.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">public function actionTestDb(){\n   \/\/ return a set of rows. each row is an associative array of column names and values.\n   \/\/ an empty array is returned if the query returned no results\n   $users = Yii::$app-&gt;db-&gt;createCommand('SELECT * FROM user LIMIT 5')\n      -&gt;queryAll();\n   var_dump($users);\n   \/\/ return a single row (the first row)\n   \/\/ false is returned if the query has no result\n   $user = Yii::$app-&gt;db-&gt;createCommand('SELECT * FROM user WHERE id=1')\n      -&gt;queryOne();\n   var_dump($user);\n   \/\/ return a single column (the first column)\n   \/\/ an empty array is returned if the query returned no results\n   $userName = Yii::$app-&gt;db-&gt;createCommand('SELECT name FROM user')\n      -&gt;queryColumn();\n   var_dump($userName);\n   \/\/ return a scalar value\n   \/\/ false is returned if the query has no result\n   $count = Yii::$app-&gt;db-&gt;createCommand('SELECT COUNT(*) FROM user')\n      -&gt;queryScalar();\n   var_dump($count);\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u043c \u0432\u044b\u0448\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u044b \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0411\u0414.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0428\u0430\u0433 2<\/strong>&nbsp;\u2014 \u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443&nbsp;<strong>http: \/\/ localhost: 8080 \/ index.php? R = site \/ test-db<\/strong>&nbsp;, \u0432\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u044b\u0432\u043e\u0434.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/coderlessons.com\/wp-content\/uploads\/2019\/07\/create_actiontestdb_output.png\" alt=\"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0432\u044b\u0445\u043e\u0434 actionTestDb\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 SQL<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0427\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 SQL \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438, \u0432\u044b \u0432\u0441\u0435\u0433\u0434\u0430 \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434\u0445\u043e\u0434 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 SQL.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0428\u0430\u0433 1<\/strong>\u00a0\u2014 \u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u043c\u0435\u0442\u043e\u0434\u00a0<strong>actionTestDb<\/strong>\u00a0\u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">public function actionTestDb() {\n   $firstUser = Yii::$app-&gt;db-&gt;createCommand('SELECT * FROM user WHERE id = :id')\n      -&gt;bindValue(':id', 1)\n      -&gt;queryOne();\n   var_dump($firstUser);\n   $params = [':id' =&gt; 2, ':name' =&gt; 'User2'];\n   $secondUser = Yii::$app-&gt;db-&gt;createCommand('SELECT * FROM user WHERE\n      id = :id AND name = :name')\n      -&gt;bindValues($params)\n      -&gt;queryOne();\n   var_dump($secondUser);\n      \/\/another approach\n   $params = [':id' =&gt; 3, ':name' =&gt; 'User3'];\n   $thirdUser = Yii::$app-&gt;db-&gt;createCommand('SELECT * FROM user WHERE\n      id = :id AND name = :name', $params)\n      -&gt;queryOne();\n   var_dump($thirdUser);\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u043c \u0432\u044b\u0448\u0435 \u043a\u043e\u0434\u0435 \u2014<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>bindValue ()<\/strong>&nbsp;\u2014 \u043f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0434\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430.<\/li><li><strong>bindValues \u200b\u200b()<\/strong>&nbsp;\u2014 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>bindValue ()<\/strong>&nbsp;\u2014 \u043f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0434\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>bindValues \u200b\u200b()<\/strong>&nbsp;\u2014 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0428\u0430\u0433 2<\/strong>&nbsp;\u2014 \u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u0442\u0435 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443&nbsp;<strong>http: \/\/ localhost: 8080 \/ index.php? R = site \/ test-db<\/strong>&nbsp;, \u0432\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u044b\u0432\u043e\u0434.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/coderlessons.com\/wp-content\/uploads\/2019\/07\/modified_actiontestdb_output.png\" alt=\"\u041c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432\u044b\u0445\u043e\u0434 actionTestDb\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u0412\u0421\u0422\u0410\u0412\u0418\u0422\u042c, \u041e\u0411\u041d\u041e\u0412\u0418\u0422\u042c \u0438 \u0423\u0414\u0410\u041b\u0418\u0422\u042c \u0417\u0430\u043f\u0440\u043e\u0441\u044b<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u043b\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 INSERT, UPDATE \u0438 DELETE \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u044b insert (), update () \u0438 delete ().<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0428\u0430\u0433 1<\/strong>&nbsp;\u2014 \u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u043c\u0435\u0442\u043e\u0434&nbsp;<strong>actionTestDb<\/strong>&nbsp;\u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">public function actionTestDb() {\n   public function actionTestDb(){\n      \/\/ INSERT (table name, column values)\n      Yii::$app-&gt;db-&gt;createCommand()-&gt;insert('user', [\n         'name' =&gt; 'My New User',\n         'email' =&gt; 'mynewuser@gmail.com',\n      ])-&gt;execute();\n      $user = Yii::$app-&gt;db-&gt;createCommand('SELECT * FROM user WHERE name = :name')\n         -&gt;bindValue(':name', 'My New User')\n         -&gt;queryOne();\n      var_dump($user);\n      \/\/ UPDATE (table name, column values, condition)\n      Yii::$app-&gt;db-&gt;createCommand()-&gt;update('user', ['name' =&gt; 'My New User\n         Updated'], 'name = \"My New User\"')-&gt;execute();\n      $user = Yii::$app-&gt;db-&gt;createCommand('SELECT * FROM user WHERE name = :name')\n         -&gt;bindValue(':name', 'My New User Updated')\n         -&gt;queryOne();\n      var_dump($user);\n      \/\/ DELETE (table name, condition)\n      Yii::$app-&gt;db-&gt;createCommand()-&gt;delete('user', 'name = \"My New User\n         Updated\"')-&gt;execute();\n      $user = Yii::$app-&gt;db-&gt;createCommand('SELECT * FROM user WHERE name = :name')\n         -&gt;bindValue(':name', 'My New User Updated')\n         -&gt;queryOne();\n      var_dump($user);\n   }\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0428\u0430\u0433 2<\/strong>&nbsp;\u2014 \u0412\u0432\u0435\u0434\u0438\u0442\u0435 URL-\u0430\u0434\u0440\u0435\u0441&nbsp;<strong>http: \/\/ localhost: 8080 \/ index.php? R = site \/ test-db<\/strong>&nbsp;\u0432 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0432\u0435\u0431-\u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430, \u0438 \u0432\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u044b\u0432\u043e\u0434.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0427\u0442\u043e\u0431\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c&nbsp;\u0437\u0430\u043f\u0440\u043e\u0441 SQL&nbsp;, \u0432\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0448\u0430\u0433\u0438: \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443&nbsp;yii \\ db \\&nbsp;\u0441 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c SQL. \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 (\u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e) \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[156],"tags":[],"class_list":["post-5012","page","type-page","status-publish","hentry","category-yii"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/pages\/5012","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/comments?post=5012"}],"version-history":[{"count":1,"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/pages\/5012\/revisions"}],"predecessor-version":[{"id":5013,"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/pages\/5012\/revisions\/5013"}],"wp:attachment":[{"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/media?parent=5012"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/categories?post=5012"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/tags?post=5012"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}