නිෂ්පාදන කළමනාකරණය (Eloquent CRUD)
Laravel හි MVC ගෘහ නිර්මාණ ශිල්පය සහ Eloquent ORM හි බලය උපයෝගී කරගනිමින්, නිෂ්පාදන එකතු කිරීමට, බැලීමට, සංස්කරණය කිරීමට සහ ඉවත් කිරීමට අවශ්ය සම්පූර්ණ ක්රියාවලිය (CRUD) මුල සිට ගොඩනැගීම.
CRUD ක්රියාවලියක් සඳහා අවශ්ය වන routes (URL) සාමාන්යයෙන් 7ක් ඇත (index, create, store, show, edit, update, destroy). මේ සියල්ලම `routes/web.php` ගොනුවේ වෙන වෙනම ලිවීම වෙනුවට, Laravel මගින් **Resource Route** නමින් ඉතා පහසු ක්රමයක් ලබා දේ.
එකම එක කේත පේළියකින්, CRUD සඳහා අවශ්ය සියලුම routes ස්වයංක්රීයව නිර්වචනය කළ හැක. ඊට අදාළව, එම routes හසුරුවන සියලුම methods (functions) ඇතුළත් **Resource Controller** එකක් ද artisan විධානයකින් සාදාගත හැක.
අප දැන් සෑදූ `ProductController` එක (`app/Http/Controllers/ProductController.php`) තුළ, CRUD ක්රියාවලියට අදාළ හිස් methods 7ක් ඇත. Eloquent ORM භාවිතයෙන් දත්ත සමුදාය සමඟ කටයුතු කිරීම ඉතා සරල වේ.
පියවර 1: `ProductController` සහ Route සෑදීම
ඉහත පෙන්වා ඇති artisan විධානය සහ route කේතය ඔබගේ ව්යාපෘතියට ඇතුළත් කරන්න.
පියවර 2: නිෂ්පාදන ලැයිස්තුව (`index` view) සෑදීම
`ProductController` හි `index()` method එක තුළ, සියලුම නිෂ්පාදන ලබාගෙන, ඒවා `products.index` නම් view එකකට යවන්න.
ඉන්පසු, `resources/views/products/index.blade.php` නමින් ගොනුවක් සාදා, Bootstrap table එකක් භාවිතයෙන් නිෂ්පාදන ලැයිස්තුව, "Add New", "Edit", "Delete" බොත්තම් සමඟ පෙන්වන්න.
පියවර 3: නිෂ්පාදන එකතු කිරීම (`create` & `store`)
`create()` method එක මගින් `products.create` view එක පෙන්වන්න. `resources/views/products/create.blade.php` ගොනුව තුළ, නව නිෂ්පාදනයක් ඇතුළත් කිරීමට HTML ෆෝරමයක් සාදන්න. (form action එක `route('products.store')` විය යුතුය).
`store()` method එක තුළ, ෆෝරමයෙන් එන දත්ත validate කර, Eloquent භාවිතයෙන් දත්ත සමුදායේ ගබඩා කර, නැවත `products.index` පිටුවට redirect කරන්න.
පියවර 4: නිෂ්පාදන සංස්කරණය සහ ඉවත් කිරීම (`edit`, `update`, `destroy`)
ඉහත ක්රියාවලියට සමානව, `edit` සහ `update` methods මගින් නිෂ්පාදන යාවත්කාලීන කිරීමටත්, `destroy` method එක මගින් නිෂ්පාදන ඉවත් කිරීමටත් අවශ්ය කේතය සම්පූර්ණ කරන්න.
මෙම සියලුම පියවර අවසානයේ, ඔබට Laravel හි MVC රටාවට අනුව ගොඩනැගූ, සම්පූර්ණ ක්රියාකාරී නිෂ්පාදන කළමනාකරණ පද්ධතියක් ලැබෙනු ඇත.