{"id":896,"date":"2024-04-15T13:28:33","date_gmt":"2024-04-15T04:28:33","guid":{"rendered":"http:\/\/inwelly.com\/?p=896"},"modified":"2024-04-15T13:28:33","modified_gmt":"2024-04-15T04:28:33","slug":"php-laravel-%eb%8d%b0%ec%9d%b4%ed%84%b0%eb%b2%a0%ec%9d%b4%ec%8a%a4-%ec%97%b0%ea%b2%b0-%eb%b0%8f-crud-%ec%9e%91%ec%97%85%ec%a4%80%eb%b9%84","status":"publish","type":"post","link":"https:\/\/inwelly.com\/?p=896","title":{"rendered":"PHP Laravel &#8211; \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc5f0\uacb0 \ubc0f CRUD \uc791\uc5c5\uc900\ube44"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<pre class=\"wp-block-preformatted\">#&gt;php artisan make:controller PostsController --resource<br><em>\uc0dd\uc131\uc704\uce58 \uc544\ub798<\/em>-<br>\\app\\Http\\Controllers\\<em>Postscontroller<\/em>.<em>php<br><\/em>=================================================================<br><br>#&gt;php artisan make:model Post -m<br><em>\uc0dd\uc131\uc704\uce58 \uc544\ub798<\/em>-<br>\\app\\<em>Post<\/em>.php<br>\\database\\migrations\\2019<em>_03_18_070923_create_posts_table<\/em>.<em>php <br><\/em><em><br><\/em><em>\uc704 \uc0dd\uc131\ub41c \ud30c\uc77c\uc744 \uc544\ub798\uc640 \uac19\uc774 \ubcc0\uacbd \ud55c\ub2e4<\/em>.<br><br>    <strong>public function <\/strong>up()<br>{<br>    Schema::<em>create<\/em>('posts', <strong>function <\/strong>(Blueprint $table) {<br>        $table-&gt;increments('id');         &lt;-- <em>\uac01\uac01\uc758 \uceec\ub7fc\ub4e4\uc784<br><\/em><em>            <\/em>$table-&gt;string('title');          &lt;-- <em>\uac01\uac01\uc758 \uceec\ub7fc\ub4e4\uc784<br><\/em><em>            <\/em>$table-&gt;mediumText('body');       &lt;-- <em>\uac01\uac01\uc758 \uceec\ub7fc\ub4e4\uc784<br><\/em><em>            <\/em>$table-&gt;timestamps();     &lt;-- <em>\uac01\uac01\uc758 \uceec\ub7fc\ub4e4\uc784<br><\/em><em>        <\/em>});<br><br>    =================================================================<br><br>    <em>\uc124\uce58\ub41c \ud3f4\ub354\uc758 \ucd5c\uc0c1\uc704\uc5d0 <\/em>.<em>env \ud30c\uc77c\uc5d0\uc11c DB \uc815\ubcf4 \ubcc0\uacbd \uc544\ub798 \ucc38\uc870 <br><\/em><em>DB_CONNECTION<\/em>=<em>mysql<br><\/em><em>DB_HOST<\/em>=127.0.0.1<br><em>DB_PORT<\/em>=3306<br><em>DB_DATABASE<\/em>=<em>homestead<br><\/em><em>DB_USERNAME<\/em>=<em>homestead<br><\/em><em>DB_PASSWORD<\/em>=<em>secret<br><\/em><em><br><\/em><em>    <\/em>=================================================================<br><br>\/<em>app<\/em>\/<em>Providers<\/em>\/<em>AppServiceProvider<\/em>.<em>php<br><\/em><em>\ud30c\uc77c\uc5d0\uc11c \uc544\ub798\uc640 \uac19\uc774 \ucd94\uac00\ud568<br><\/em><em><br><\/em><strong>use <\/strong>Illuminate\\Support\\ServiceProvider;  &lt;-- <em>\uae30\uc874\uc5d0 \ub4f1\ub85d\ub41c \ucf54\ub4dc \ubc11\uc5d0<br><\/em><em><br><\/em><em>\uc544\ub798\uc640 \uac19\uc774 \ucd94\uac00<br><\/em><strong>use <\/strong>Illuminate\\Support\\Facades\\Schema;<br><br><em>\uadf8\ub9ac\uace0 <\/em>boot() <em>\ud568\uc218\ub97c \uc544\ub798\uc640\uac19\uc774 \uc218\uc815<br><\/em><em>    <\/em><strong>public function <\/strong>boot()<br>{<br>    Schema::<em>defaultStringLength<\/em>(191);<br>}<br><br>=================================================================<br><br><br><em>\uc704\uc640 \uac19\uc774 \uc801\uc131\ud6c4 \ud130\ubbf8\ub110\ub85c \uc774\ub3d9 \uc544\ub798\uc640 \uac19\uc774 \uc2e4\ud589 \ud55c\ub2e4<\/em>.<br><em>\uadf8\ub807\uac8c <\/em>\ud558\uba74 \\database\\<em>migrations<\/em>\" \ud3f4\ub354\uc5d0 \ud14c\uc774\ube14 \uc0dd\uc131 \ud558\ub824\uace0 \ud588\ub358\uac83\uc774 <br>Databases create table \ub41c\ub2e4.<br>#&gt; php artisan migrate<br>Migrating: 2019_03_18_070923_create_posts_table<br>Migrated:  2019_03_18_070923_create_posts_table<br>....<br><br><br>====================================================<br><br>\ub370\uc774\ud130 \ubca0\uc774\uc2a4\uc5d0 \uc544\ub798\uc640 \uac19\uc774 \uac12\uc744 insert \uc2dc\ud0a8\ub2e4. <br>#&gt; php artisan tinker<br>Psy Shell v0.9.9 (PHP 7.0.33-0ubuntu0.16.04.2 \u2014 cli) by Justin Hileman<br>&gt;&gt;&gt; App\\Post::count()<br>=&gt; 0<br>&gt;&gt;&gt; $post = new App\\post();<br>=&gt; App\\Post {#2853}<br>&gt;&gt;&gt; $post-&gt;title = 'Post One';<br>=&gt; \"<em>Post One<\/em>\"<br>&gt;&gt;&gt; $post-&gt;body = 'This is the post body';<br>=&gt; \"<em>This is the post body<\/em>\"<br>&gt;&gt;&gt; $post-&gt;save();<br>=&gt; true<br>&gt;&gt;&gt; $post = new App\\post();<br>=&gt; App\\Post {#2855}<br>&gt;&gt;&gt; $post-&gt;title ='Post Two';<br>=&gt; \"<em>Post Two<\/em>\"<br>&gt;&gt;&gt; $post-&gt;body = 'This is post 2';<br>=&gt; \"<em>This is post <\/em>2\"<br>&gt;&gt;&gt; $post-&gt;save();<br>=&gt; true<br>&gt;&gt;&gt; quit<br><br>==================================================================<br><br>\uc6b0\uc120 \uc544\ub798\uc640 \uac19\uc774 \ud604\uc7ac \uc0ac\uc6a9 \ud558\uace0 \uc788\ub294 route \uc758 action \uc5d0 \ub300\ud574 \ud655\uc778\uc744 \ud55c\ub2e4. <br>#&gt; php artisan route:list<br>+--------+----------+----------+------+-----------------------------------------------+--------------+<br>| Domain | Method   | URI      | Name | Action                                        | Middleware   |<br>+--------+----------+----------+------+-----------------------------------------------+--------------+<br>|        | GET|HEAD | \/        |      | App\\Http\\Controllers\\PagesController@index    | web          |<br>|        | GET|HEAD | about    |      | App\\Http\\Controllers\\PagesController@about    | web          |<br>|        | GET|HEAD | api\/user |      | Closure                                       | api,auth:api |<br>|        | GET|HEAD | services |      | App\\Http\\Controllers\\PagesController@services | web          |<br>+--------+----------+----------+------+-----------------------------------------------+--------------+<br><br><br>==================================================================<br><br>\\routes\\web.php \uc758 \ud30c\uc77c\uc5d0\uc11c \uc544\ub798\uc640 \uac19\uc774 \ucd94\uac00\ud55c\ub2e4. <br><br>Route::get('\/', 'PagesController@index');  &lt;-- \uae30\uc874\uc5d0 \uc788\ub358\uac83<br>Route::get('\/about', 'PagesController@about'); &lt;-- \uae30\uc874\uc5d0 \uc788\ub358\uac83<br>Route::get('\/services', 'PagesController@services');   &lt;-- \uae30\uc874\uc5d0 \uc788\ub358\uac83<br><br>Route::resource('posts','PostsController');   &lt;-- \ucd94\uac00\ud568<br><br>\uc704\uc640 \uac19\uc774 \ucd94\uac00\ud55c\ub2e4\uc74c\uc5d0 <br><br>==============================================================================<br><br>route \uc758 action \uc744 \ub2e4\uc2dc \ud130\ubbf8\ub110\uc5d0\uc11c \ud655\uc778\ud558\uba74 \uc544\ub798\uc640 \uac19\ub2e4.<br><br>#&gt; php artisan route:list<br>+--------+-----------+-------------------+---------------+-----------------------------------------------+--------------+<br>| Domain | Method    | URI               | Name          | Action                                        | Middleware   |<br>+--------+-----------+-------------------+---------------+-----------------------------------------------+--------------+<br>|        | GET|HEAD  | \/                 |               | App\\Http\\Controllers\\PagesController@index    | web          |<br>|        | GET|HEAD  | about             |               | App\\Http\\Controllers\\PagesController@about    | web          |<br>|        | GET|HEAD  | api\/user          |               | Closure                                       | api,auth:api |<br>|        | GET|HEAD  | posts             | posts.index   | App\\Http\\Controllers\\PostsController@index    | web          |<br>|        | POST      | posts             | posts.store   | App\\Http\\Controllers\\PostsController@store    | web          |<br>|        | GET|HEAD  | posts\/create      | posts.create  | App\\Http\\Controllers\\PostsController@create   | web          |<br>|        | GET|HEAD  | posts\/{post}      | posts.show    | App\\Http\\Controllers\\PostsController@show     | web          |<br>|        | PUT|PATCH | posts\/{post}      | posts.update  | App\\Http\\Controllers\\PostsController@update   | web          |<br>|        | DELETE    | posts\/{post}      | posts.destroy | App\\Http\\Controllers\\PostsController@destroy  | web          |<br>|        | GET|HEAD  | posts\/{post}\/edit | posts.edit    | App\\Http\\Controllers\\PostsController@edit     | web          |<br>|        | GET|HEAD  | services          |               | App\\Http\\Controllers\\PagesController@services | web          |<br>+--------+-----------+-------------------+---------------+-----------------------------------------------+--------------+<\/pre>\n<\/blockquote>\n\n\n\n<p><strong>\uc704 \ub0b4\uc6a9\uc758 \ucd9c\ucc98 :\u00a0 \ub77c\ub77c\ubca8 https:\/\/www.youtube.com\/watch?v=EU7PRmCpx-0&amp;list=PLillGF-RfqbYhQsN5WMXy6VsDMKGadrJ-&amp;index=1\u00a0 \u00a0\uc744 \ucc38\uc870\ud574\uc11c \ub9cc\ub4e4\uc600\uc2b5\ub2c8\ub2e4.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>#&gt;php artisan make:controller PostsController &#8211;resource\uc0dd\uc131\uc704\uce58 \uc544\ub798-\\app\\Http\\Controllers\\Postscontroller.php=================================================================#&gt;php artisan make:model Post -m\uc0dd\uc131\uc704\uce58 \uc544\ub798-\\app\\Post.php\\database\\migrations\\2019_03_18_070923_create_posts_table.php \uc704 \uc0dd\uc131\ub41c \ud30c\uc77c\uc744 \uc544\ub798\uc640 \uac19\uc774 \ubcc0\uacbd \ud55c\ub2e4. public function [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[112],"tags":[],"class_list":["post-896","post","type-post","status-publish","format-standard","hentry","category-laravel"],"_links":{"self":[{"href":"https:\/\/inwelly.com\/index.php?rest_route=\/wp\/v2\/posts\/896","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inwelly.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inwelly.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inwelly.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/inwelly.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=896"}],"version-history":[{"count":1,"href":"https:\/\/inwelly.com\/index.php?rest_route=\/wp\/v2\/posts\/896\/revisions"}],"predecessor-version":[{"id":897,"href":"https:\/\/inwelly.com\/index.php?rest_route=\/wp\/v2\/posts\/896\/revisions\/897"}],"wp:attachment":[{"href":"https:\/\/inwelly.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=896"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inwelly.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=896"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inwelly.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=896"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}