Categories
PHP

Laravel 5.6 CRUD Tutorial With Example

មាតិកា

  1. សេចក្តីផ្តើម
  2. តម្រូវការ
  3. ជំហ៊ានទី១៖ បង្កើត Laravel Project
  4. ជំហ៊ានទី២៖ បង្កើត MySQL Database ក្នុង .env file.
  5. ជំហ៊ានទី៣៖ បង្កើតនូវ model, migration file និង controller សម្រាប់ table “Passports”
  6. ជំហ៊ានទី៤៖ បង្កើត file view​ ដើម្បីបញ្ចូលព័ត៌មានទៅក្នុង database.
  7. ជំហ៊ានទី៥៖ បង្កើត Controller និង Route.
  8. ជំហ៊ានទី៦៖ រក្សាទុកទិន្នន័យនៅក្នុង Database.
  9. ជំហ៊ានទី៧៖ បង្កើត index page មួយសម្រាប់ធ្វើការ List ចេញរាល់ព័ត៌មានទាំងអស់
  10. ជំហ៊ានទី៨៖ បង្កើតនូវ Edit view មួយសម្រាប់ Update ព៍ត៌មាន
  11. ជំហ៊ានទី៩៖ របៀបលុបទិន្នន័យចេញពី Database
  12. ឯកសារយោង

1. សេចក្តីផ្តើម

សម្រាប់ Tutorial នេះ ខ្ញុំសូមណែនាំពីរបៀបប្រើប្រាស់ Laravel CRUD (Create, Read, Update, Delete) ដែលជា Open source web framework មួយ សម្រាប់ធ្វើការបង្កើតនូវ Dynamic website។ វាមានការពេញនិយមសម្រាប់អ្នក Developer ក្នុងការចាប់ផ្តើមបង្កើត Project មួយប្រកបដោយភាពងាយស្រួល។ Tutorial នេះដែរបង្កើតឡើងសម្រាប់អ្នកមិនចេះសោះ និងអ្នកដែលទើបតែចាប់ផ្តើមប្រើប្រាស់វាសម្រាប់គោលបំណងធ្វើ Project នៅថ្ងៃខាងមុខ។ ក្នុងនេះដែរខ្ញុំក៏ទើបតែចាប់ផ្តើមសិក្សាពីវាបានបន្តិចបន្តួច ហើយចំពោះTutorial នេះដែរ យើងអាចធ្វើការស្វែងយល់បន្ថែមពីវា តាម Reference វេបសាយដែលបានបង្ហាញនៅខាងក្រោមនេះ។

2. តម្រូវការ

ដើម្បីអាចបង្កើត Project ជាមួយ laravel framework បាន យើងត្រូវមានៈ

  • កម្មវិធីសម្រាប់សរសេរកូដ Text Editor ឬ IDE (ដូចជា Sublime, Notepad…, Eclipse, phpStorm, ក៏ដូចជា IDE ផ្សេងៗទៀតជាដើម)
  • Wamp server ឬ Xamp
  • ត្រូវភ្ជាប់អ៊ីនធើណេត (នៅពេលដែលយើង Generate Project ជាដើម)
  • ត្រូវតម្លើង Composer ក្នុងម៉ាស៊ីនកុំព្យូទ័រ (https://getcomposer.org/)

3. ជំហ៊ានទី១៖ បង្កើត Laravel Project

សូមវាយនូវ Command ខាងក្រោមដើម្បីបង្កើតនូវ Laravel Project មួយដែលមានឈ្មោះថា passportappointmentsystem

  • ចូលទៅកាន់ command prompt រួច paste code ខាងក្រោមចូលcomposer create-project –prefer-dist laravel/laravel passportappointmentsystem
  • សូមរង់ចាំរហូតដល់វា Generate​ Project ដោយជោគជ័យ
  • បន្ទាប់ពី create project បានដោយជោគជ័យហើយ យើងនឹងទទួលបាននូវ Project Structure ដូចរូប

4. ជំហ៊ានទី២៖ បង្កើត MySQL Database ក្នុង .env file

  • នៅក្នុង .env file សូមធ្វើការ Configure ដូចរូបខាងក្រោម
  • សូមចូលទៅកាន់ phpMyAdmin ដើម្បីបង្កើតនូវ database មួយឈ្មោះថា “passportsystem
  • បន្ទាប់ពីយើង configure .env file រួចហើយ សូមធ្វើការ migrate នូវ Tables ចំនួន២ដែលផ្តល់ដោយ laravel ដោយស្វ័យប្រវត្តិ
  • សូមវាយនូវ command php artisan migrate ក្នុង ​command prompt
  • ចំណាំ៖ មុននឹង វាយនូវ command ខាងលើ សូមចូលទៅកាន់ path នៃ Project យើងជាមុនសិន
  • ចុច Enter
  • ករណីនៅពេលដែលវា error ខណៈពេល migrate tables ដូចរូបខាងក្រោម
  • សូមចូលទៅកាន់ Providers –> AppServiceProvider.php
  • រូចធ្វើការ add code ដូច highlight រូបខាងក្រោម
  • បន្ទាប់មកចូលទៅ command prompt រូចmigrate ម្តងទៀត
  • សូមចូលទៅកាន់ phpMyAdmin
  • យើងនឹងទទួលបាននូវ Tables ដូចខាងក្រោម

5. ជំហ៊ានទី៣៖ បង្កើតនូវ model, migration file និង controller សម្រាប់ table “Passports”

  • សូមវាយនូវ command ខាងក្រោម
  •   php artisan make:model Passport -m
  • ពេលនោះវានឹងបង្កើត files ចំនួន២
    • php model.
    • create_passports_table migration file.
  • ក្នុង migration យើងនឹងទទួលបាន file ដូចរូប
  • បន្តមកទៀតយើងត្រូវបង្កើតនូវ Schema អោយ table “passports”
  • ចុចលើfile “2018_05_30_153508_create_passports_table.php”
  • សូមបង្កើតនូវ fields និមួយៗ ដូចរូបខាងក្រោម
  • បន្ទាប់ពីយើងបានបង្កើត Schema អោយ table ខាងលើរួចហើយ
  • សូមធ្វើការ migrate table ដោយវាយ “php artisan migrate”
  • ដូចនេះក្នុង database យើងនឹងទទួលបាន table “passports”

6. ជំហ៊ានទី៤៖ បង្កើត file view​ ដើម្បីបញ្ចូលព័ត៌មានទៅក្នុង database

  • បង្កើត file មួយនៅក្នុង resources  >>  views  >>   create.blade.php
  • រួចសរសរកូដដូចខាងក្រោម

7. ជំហ៊ានទី៥៖ បង្កើត Controller និង Route

ដើម្បីបង្កើតបាននូវ Controller យើងត្រូវវាយ command

  • php artisan make:controller PassportController –resource
  • ពេលនោះវានឹងបង្កើតនូវ controller មួយមានឈ្មោះថា “PassportController.php” សម្រាប់អោយយើងធ្វើការបង្កើតនូវរាល់ functions CRUD
  • នៅក្នុង project folder របស់យើង នឹងទទួលបាន file ដូចរូប
  • សូមធ្វើការចុចលើ file “PassportController.php” រួចធ្វើការបង្កើត function មួយដូចរូប
    • Function create(): សម្រាប់ធ្វើការ return view មួយដែលមានឈ្មោះថា “blade.php”
    • សម្គាល់ៈ ចំពោះការcall ហៅ view នៅក្នុង laravel យើងមិនចាំបាច់សរសេរ “create.blade.php” ទាំងស្រុងឡើយ គឺគ្រាប់តែសរសេរឈ្មោះ create បានហើយ។
  • ធ្វើការ register route នៅក្នុង​ routes  >>  web.php file
  • ចុចលើ web.php
  • រួចសរសេរកូដ Route::resource(‘passports’,’PassportController’);
  • បន្ទាប់មកទៀតសូមចូលទៅកាន់ Terminal រួចវាយ Command php artisan route:list សម្រាប់ធ្វើការ List មើលរាល់ routes ទាំងអស់នៅក្នុង Project របស់យើង
  • ដើម្បីអាចដំណើរការ laravel project បានយើងត្រូវ ប្រើប្រាស់នូវ command មួយគឺ “php artisan serve”
  • ឥលូវនេះ server ត្រូវបានដំណើរការហើយ
  • សូមចូលទៅកាន់ browser រួចវាយនូវ url “http://localhost:8000/passports/create
  • យើងនឹងទទួលបានដូចរូប

8. ជំហ៊ានទី៦៖ រក្សាទុកទិន្នន័យនៅក្នុង Database

យើងត្រូវការសរសេរនៅក្នុង Function​ “store” ដើម្បីបញ្ចូល ទិន្នន័យចូលទៅក្នុង database

  • ចូលទៅ PassportController.php
  • រួចសរសេរកូដដូចខាងក្រោម

9. ជំហ៊ានទី៧៖ បង្កើត index page មួយសម្រាប់ធ្វើការ List ចេញរាល់ព័ត៌មានទាំងអស់

  • ចូលទៅ PassportController.php
  • នៅក្នុង resources>> views សូមធ្វើការបង្កើត file view មួយមានឈ្មោះថា “blade.php”
  • រួចសរសេរកូដខាងក្រោមចូល
  • សូមចូលទៅ url “http://localhost:8000/passports
  • ខាងក្រោមនេះជាលទ្ធផលដែលយើងបានធ្វើការបញ្ចូលទិន្នន័យចូលទៅក្នុង database ដោយជោគជ័យ

10. ហ៊ានទី៨៖ បង្កើតនូវ Edit view មួយសម្រាប់ Update ព៍ត៌មាន

  • ចូលទៅ PassportController.php
  • រួចសរសេរ function edit
  • សូមបង្កើត file មួយឈ្មោះថា “blade.php” នៅក្នុង resources  >>  views
  • បន្ទាប់មកទៀតសូមធ្វើការសរសេរកូដដើម្បី update ទិន្នន័យ
  • នៅក្នុងនេះដែរ យើងមិនបានធ្វើការ update ទៅលើfield “Date, និង Image” ឡើយ
  • ចូលទៅ PassportController.php
  • រួចសរសេរកូដ function សម្រាប់ update
  • ខាងក្រោមនេះ គឺជា form សម្រាប់កែប្រែទិន្នន័យរបស់យើង

11. ជំហ៊ានទី៩៖ របៀបលុបទិន្នន័យចេញពី Database

  • ចូលទៅ PassportController.php
  • រួចសរសេរកូដ function សម្រាប់ destroy (លុប)
  • ដើម្បីលុបទិន្នន័យ គឺគ្រាន់តែចុចលើ Button Delete ជាការស្រេច
  • ដូចនេះ ការប្រើប្រាស់ CRUD នៅក្នុង Laravel ត្រូវបានបញ្ចប់ សូមអរគុណ.

12. ឯកសារយោង

  • https://appdividend.com/2018/02/23/laravel-5-6-crud-tutorial/

By sysomeho

Ho Sysome obtains B.S. degree in Computer Science from Phnom Penh Internation University (PPIU) in 2013 and currently studying Master of Science in IT (MSIT) at Asia Euro University (AEU). He worked as an IT Officer at Microfinance Institute and Bank in Phnom Penh. He is familar in programming language such as VB.NET, Java (Java2EE, Spring), Codeigniter, Laravel, mysql, sql server and so on. He enjoys sharing knowledges, learns from other, and develop himself.
Find him on Facebook: Spy Ro, Linkedin: Sysome HO.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.