{"id":4986,"date":"2021-08-09T08:04:55","date_gmt":"2021-08-09T08:04:55","guid":{"rendered":"https:\/\/www.bearloga.space\/?page_id=4986"},"modified":"2021-08-09T08:04:55","modified_gmt":"2021-08-09T08:04:55","slug":"yii-sortirovka","status":"publish","type":"page","link":"https:\/\/www.bearloga.space\/uk\/yii-sortirovka\/","title":{"rendered":"Yii \u2014 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u041f\u0440\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430\u043c \u0447\u0430\u0441\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435.&nbsp;Yii \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043e\u0431\u044a\u0435\u043a\u0442&nbsp;<strong>yii \\ data \\ Sort<\/strong>&nbsp;\u0434\u043b\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0445\u0435\u043c\u044b \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0443 \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u044b \u0434\u0430\u043d\u043d\u044b\u0435.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0411\u0414<\/h2>\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 \u043d\u043e\u0432\u0443\u044e \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445.&nbsp;\u0411\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0430 \u200b\u200b\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0434\u0432\u0443\u043c\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u0412 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435&nbsp;<em>mysql -u root \u2013p<\/em><\/li><li>\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e&nbsp;<em>CREATE DATABASE helloworld CHARACTER SET utf8 COLLATE utf8_general_ci;<\/em><\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435&nbsp;<em>mysql -u root \u2013p<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e&nbsp;<em>CREATE DATABASE helloworld CHARACTER SET utf8 COLLATE utf8_general_ci;<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0428\u0430\u0433 2<\/strong>&nbsp;\u2014 \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u0442\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0444\u0430\u0439\u043b\u0435&nbsp;<strong>config \/ db.php<\/strong>&nbsp;.&nbsp;\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 \u0432 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;?php\n   return [\n      'class' =&gt; 'yii\\db\\Connection',\n      'dsn' =&gt; 'mysql:host=localhost;dbname=helloworld',\n      'username' =&gt; 'vladimir',\n      'password' =&gt; '12345',\n      'charset' =&gt; 'utf8',\n   ];\n?&gt;<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0428\u0430\u0433 3<\/strong>\u00a0\u2014 \u0412\u043d\u0443\u0442\u0440\u0438 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u043f\u0430\u043f\u043a\u0438\u00a0<strong>\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 .\/yii migrate \/ create test_table<\/strong>\u00a0.\u00a0\u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0441\u043e\u0437\u0434\u0430\u0441\u0442 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0448\u0435\u0439 \u0411\u0414.\u00a0\u0424\u0430\u0439\u043b \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u044f\u0432\u0438\u0442\u044c\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0435\u00a0<strong>\u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0439<\/strong>\u00a0\u043a\u043e\u0440\u043d\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0428\u0430\u0433 4.<\/strong>&nbsp;\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u0444\u0430\u0439\u043b \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435&nbsp;<strong>m160106_163154_test_table.php<\/strong>&nbsp;).<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;?php\n   use yii\\db\\Schema;\n   use yii\\db\\Migration;\n   class m160106_163154_test_table extends Migration {\n      public function safeUp() {\n         $this-&gt;createTable(\"user\", [\n            \"id\" =&gt; Schema::TYPE_PK,\n            \"name\" =&gt; Schema::TYPE_STRING,\n            \"email\" =&gt; Schema::TYPE_STRING,\n         ]);\n         $this-&gt;batchInsert(\"user\", [\"name\", \"email\"], [\n            [\"User1\", \"user1@gmail.com\"],\n            [\"User2\", \"user2@gmail.com\"],\n            [\"User3\", \"user3@gmail.com\"],\n            [\"User4\", \"user4@gmail.com\"],\n            [\"User5\", \"user5@gmail.com\"],\n            [\"User6\", \"user6@gmail.com\"],\n            [\"User7\", \"user7@gmail.com\"],\n            [\"User8\", \"user8@gmail.com\"],\n            [\"User9\", \"user9@gmail.com\"],\n            [\"User10\", \"user10@gmail.com\"],\n            [\"User11\", \"user11@gmail.com\"],\n         ]);\n      }\n      public function safeDown() {\n         $this-&gt;dropTable('user');\n      }\n   }\n?&gt;<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u044b\u0448\u0435\u0443\u043a\u0430\u0437\u0430\u043d\u043d\u0430\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u0435\u0442&nbsp;<strong>\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0443\u044e<\/strong>&nbsp;\u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u043f\u043e\u043b\u044f\u043c\u0438: id, name \u0438 email.&nbsp;\u0422\u0430\u043a\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u043c\u043e-\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0428\u0430\u0433 5<\/strong>&nbsp;\u2014 \u0412\u043d\u0443\u0442\u0440\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430&nbsp;<strong>\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 .\/yii \u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f,<\/strong>&nbsp;\u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e \u043a \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0428\u0430\u0433 6<\/strong>&nbsp;\u2014 \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0439&nbsp;<strong>\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439<\/strong>&nbsp;\u0442\u0430\u0431\u043b\u0438\u0446\u044b.&nbsp;\u0414\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u043c\u044b \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043e\u0434\u0430&nbsp;<strong>Gii<\/strong>&nbsp;.&nbsp;\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u044d\u0442\u043e\u0442&nbsp;<strong>URL: http: \/\/ localhost: 8080 \/ index.php? R = gii<\/strong>&nbsp;.&nbsp;\u0417\u0430\u0442\u0435\u043c \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 \u00ab\u041f\u0443\u0441\u043a\u00bb \u043f\u043e\u0434 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u043c \u00ab\u0413\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043c\u043e\u0434\u0435\u043b\u0435\u0439\u00bb.&nbsp;\u0417\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0418\u043c\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b (\u00ab\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u00bb) \u0438 \u041a\u043b\u0430\u0441\u0441 \u043c\u043e\u0434\u0435\u043b\u0438 (\u00abMyUser\u00bb), \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 \u00ab\u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u00bb \u0438, \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 \u00ab\u0421\u043e\u0437\u0434\u0430\u0442\u044c\u00bb.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/coderlessons.com\/wp-content\/uploads\/2019\/07\/create_model-1.png\" alt=\"\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0411\u0414\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u043e\u0434\u0435\u043b\u044c MyUser \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u043e\u044f\u0432\u0438\u0442\u044c\u0441\u044f \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u043c\u043e\u0434\u0435\u043b\u0435\u0439.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0421\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0428\u0430\u0433 1.<\/strong>&nbsp;\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043c\u0435\u0442\u043e\u0434&nbsp;<strong>actionSorting<\/strong>&nbsp;\u0432&nbsp;<strong>SiteController<\/strong>&nbsp;.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">public function actionSorting() {\n   \/\/declaring the sort object\n   $sort = new Sort([\n      'attributes' =&gt; ['id', 'name', 'email'], \n   ]);\n   \/\/retrieving all users\n   $models = MyUser::find()\n      -&gt;orderBy($sort-&gt;orders)\n      -&gt;all();\n   return $this-&gt;render('sorting', [\n      'models' =&gt; $models,\n      'sort' =&gt; $sort,\n   ]);\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0428\u0430\u0433 2<\/strong>&nbsp;\u2014 \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b&nbsp;<strong>View \u0441<\/strong>&nbsp;\u0438\u043c\u0435\u043d\u0435\u043c&nbsp;<strong>sorting \u0432\u043d\u0443\u0442\u0440\u0438<\/strong>&nbsp;\u043f\u0430\u043f\u043a\u0438 views \/ site.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;?php\n   \/\/ display links leading to sort actions\n   echo $sort-&gt;link('id') . ' | ' . $sort-&gt;link('name') . ' | ' . $sort-&gt;link('email');\n?&gt;&lt;br\/&gt;\n&lt;?php foreach ($models as $model): ?&gt;\n   &lt;?= $model-&gt;id; ?&gt;\n   &lt;?= $model-&gt;name; ?&gt;\n   &lt;?= $model-&gt;email; ?&gt;\n   &lt;br\/&gt;\n&lt;?php endforeach; ?&gt;<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0428\u0430\u0433 3.<\/strong>&nbsp;\u0422\u0435\u043f\u0435\u0440\u044c, \u0435\u0441\u043b\u0438 \u0432\u044b \u0432\u0432\u0435\u0434\u0435\u0442\u0435&nbsp;<strong>http: \/\/ localhost: 8080 \/ index.php? R = site \/ sorting<\/strong>&nbsp;\u0432 \u0432\u0435\u0431-\u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435, \u0432\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u043f\u043e\u043b\u044f id, name \u0438 email \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0440\u0438\u0441\u0443\u043d\u043a\u0435. ,<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041f\u0440\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430\u043c \u0447\u0430\u0441\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435.&nbsp;Yii \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043e\u0431\u044a\u0435\u043a\u0442&nbsp;yii \\ data \\ Sort&nbsp;\u0434\u043b\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0445\u0435\u043c\u044b \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438. \u0427\u0442\u043e\u0431\u044b [&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-4986","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\/4986","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=4986"}],"version-history":[{"count":1,"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/pages\/4986\/revisions"}],"predecessor-version":[{"id":4987,"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/pages\/4986\/revisions\/4987"}],"wp:attachment":[{"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/media?parent=4986"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/categories?post=4986"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bearloga.space\/uk\/wp-json\/wp\/v2\/tags?post=4986"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}