লারাভেল টিঙ্কার:

লারাভেল টিঙ্কার আপনাকে রুট তৈরি না করেই একটি ডাটাবেসের সাথে ইন্টারঅ্যাক্ট করতে দেয়। অবজেক্ট তৈরি করতে বা ডেটা পরিবর্তন করতে পিএইচপি কারিগরের সাথে লারাভেল টিঙ্কার ব্যবহার করা হয় । পিএইচপি আর্টিসান হল একটি কমান্ড-লাইন ইন্টারফেস যা লারাভেলের সাথে উপলব্ধ। টিঙ্কার হল একটি কমান্ড টুল যা পিএইচপি কারিগরের সাথে কাজ করে। ডাটাবেসের চারপাশে একটি টিঙ্কার খেলার মানে হল যে এটি আপনাকে অবজেক্ট তৈরি করতে ডেটা সন্নিবেশ করতে দেয় ইত্যাদি।

টিঙ্কার এনভারোনমেন্টে প্রবেশ করতে নীচে দেওয়া কমান্ডটি রান করুন।

php artisan tinker

উপরের স্ক্রীনটি দেখায় যে টিঙ্কার এনভারোনমেন্ট তৈরি করা হয়েছে।

 Creating data:

command-line টুল ব্যবহার করে আমরা ডাটাবেস টেবিলে রেকর্ড তৈরি করতে পারি। আমরা command-line টুলে নিম্নলিখিত বিবৃতিটি ব্যবহার করি যা ডাটাবেস টেবিলে সরাসরি ডেটা সন্নিবেশ করে।

$post=App\Post::create(['title'=>'Akshay','body'=>'akshay is a software developer']);

আউটপুট

যখন আমরা উপরের বিবৃতিটি কার্যকর করি তখন ডেটা একটি পোস্ট টেবিলে ঢোকানো হয়। আমরা নীচের স্ক্রিনশটে দেখানো একটি phpMyAdmin- এ সন্নিবেশিত ডেটা দেখতে পারি।

আমরা একটি বস্তু তৈরি করে ডেটা সন্নিবেশ করার জন্য অন্য উপায় ব্যবহার করতে পারি।

প্রথমত আমরা বস্তু তৈরি করি।

উপরের স্ক্রিনে হাইলাইট করা লাইনটি অবজেক্ট তৈরি করছে এবং অবজেক্টের নাম হল $post$post হল App\Post ক্লাসের অবজেক্ট ।

কমান্ড-লাইন টুলে অবজেক্টের নাম উল্লেখ করে আমরা দেখতে পারি যে $post অবজেক্ট সফলভাবে তৈরি করা হয়েছে কি না।

উপরের হাইলাইট করাি এরিয়াটি দেখায় যে $post অবজেক্টটি সফলভাবে তৈরি করা হয়েছে কারণ $post ক্লাসের নাম, App\Post দেখায় ।

একটা অবজেক্ট তৈরি করার পর একটা অবজেক্টের সাহায্যে ডাটা ইনসার্ট করব।


উপরের স্ক্রিনে আমরা যথাক্রমে $post->title এবং $post->body স্টেটমেন্ট ব্যবহার করে একটি পোস্ট টেবিলে কলামের শিরোনাম এবং বডিতে মান নির্ধারণ করেছি। কিন্তু এখনও ডেটা একটি টেবিলে ঢোকানো হয় না। টেবিলে ডেটা সন্নিবেশ করার জন্য আমাদের নীচে দেওয়া বিবৃতিটি ব্যবহার করতে হবে।

$post->save(); // এটি একটি ডাটাবেস টেবিলে রেকর্ড সংরক্ষণ করে।

যখন আমরা একটি কমান্ড-লাইন টুলে $post টাইপ করি।

উপরের হাইলাইট করা এলাকাটি দেখায় যে রেকর্ডটি একটি পোস্ট টেবিলে সংরক্ষিত আছে।

আসুন phpMyAdmin-এ পোস্ট টেবিলটি দেখি


রেকর্ড খোঁজা:

আমরা তিনটি উপায়ে ডাটাবেস থেকে রেকর্ড পুনরুদ্ধার করতে পারি।

প্রথম উপায় হল find() পদ্ধতি ব্যবহার করা।


দ্বিতীয় উপায় হল সীমাবদ্ধতা অর্থাৎ যেখানে ক্লজ ব্যবহার করা।


উপরের স্ক্রিনে আমরা রেকর্ডটি পুনরুদ্ধার করছি যার একটি 'id' 1 এর সমান রয়েছে। এই ক্ষেত্রে আমরা প্রথম() পদ্ধতিটি ব্যবহার করি কারণ first() পদ্ধতিটি একক রেকর্ড পুনরুদ্ধার করতে ব্যবহৃত হয়।


উপরের স্ক্রিনে আমরা 1-এর বেশি আইডি থাকা রেকর্ডগুলি পুনরুদ্ধার করছি। এই ক্ষেত্রে একাধিক রেকর্ড আনা হয় তাই আমরা get () পদ্ধতি ব্যবহার করি। যেমন get() পদ্ধতি ব্যবহার করা হয় যখন রেকর্ডের একটি অ্যারে পুনরুদ্ধার করা হয়।

তৃতীয় উপায় হল whereId() ব্যবহার করা ।


Updating data:

এই বিভাগে আমরা শিখব কিভাবে একটি ডাটাবেসে ডেটা আপডেট করতে হয়।

একটি উদাহরণের মাধ্যমে বোঝা যাক।

প্রথমত আমরা যে বস্তুটি আপডেট করতে চাই তা খুঁজে বের করি।


উপরের স্ক্রিনে আমরা দ্বিতীয় রেকর্ডটি পুনরুদ্ধার করেছি এবং একটি $post অবজেক্টে সংরক্ষণ করেছি।

এখন আমরা দুটি কলাম, শিরোনাম এবং বডির মান আপডেট করি।


একটি ডাটাবেসে রেকর্ড সংরক্ষণ করতে আমরা save() পদ্ধতি ব্যবহার করি।


উপরের স্ক্রীনে save() মেথডটি সত্য দেখায়, যার মানে রেকর্ডটি সফলভাবে একটি ডাটাবেসে আপডেট করা হয়েছে।


Deleting data:

এখন আমরা দেখব কিভাবে ডাটাবেস টেবিল থেকে ডেটা মুছে ফেলা যায়।

একটি উদাহরণের মাধ্যমে বোঝা যাক।

যেহেতু আমরা জানি যে $post হল একটি অবজেক্ট যাতে দ্বিতীয় রেকর্ড থাকে প্রথমে আমরা $post অবজেক্টে delete() প্রয়োগ করি ।


উপরের স্ক্রীনটি দেখায় যে delete() পদ্ধতিটি সত্য মান প্রদান করে যার অর্থ রেকর্ডটি মুছে ফেলা হয়েছে।

এখন আমরা ডাটাবেসটি দেখব যে 2 এর সমান আইডি থাকা রেকর্ডটি আসলে মুছে ফেলা হয়েছে কি না।


আমরা উপরের স্ক্রিনশট থেকে লক্ষ্য করতে পারি যে 'id' 2 এর রেকর্ডটি এখনও টেবিলে পাওয়া যায়, তবে deleted_at কলামে একটি তারিখ শূন্য নয়, যার মানে এই রেকর্ডটি soft-deleted

স্থায়ীভাবে রেকর্ড মুছে ফেলার জন্য,


উপরের স্ক্রিনে আমরা $post->onlyTrashed() ব্যবহার করি মানে $post অবজেক্টে শুধুমাত্র একটি ট্র্যাশ করা রেকর্ড রয়েছে।

ট্র্যাশ করা রেকর্ড স্থায়ীভাবে মুছে ফেলার জন্য আমরা $post অবজেক্টে forceDelete() পদ্ধতি ব্যবহার করি ।


উপরের স্ক্রীনটি দেখায় যে forceDelete() পদ্ধতিটি একটি সত্য মান প্রদান করে যার মানে হল যে রেকর্ডটি সফলভাবে টেবিল থেকে মুছে ফেলা হয়েছে।

আসুন ডাটাবেস দেখি:


উপরের স্ক্রিনশটে আমরা লক্ষ্য করেছি যে 'id' 2 এর রেকর্ড পোস্ট টেবিল থেকে মুছে ফেলা হয়েছে।

টিঙ্কারের সাথে সম্পর্ক:

এখন পর্যন্ত আমরা রুট ব্যবহার করে সম্পর্ক খুঁজেছি। এখন আমরা টিঙ্কারের মাধ্যমে সম্পর্ক দেখতে পাব। একটি লারাভেল রিলেশনশিপ টপিক-এ আমরা সেই রুটের সাহায্যে এক-এক সম্পর্ক পড়ি যেখানে আমরা প্রতিটি ব্যবহারকারীর জন্য পোস্টটি খুঁজে পাই। এখন আমরা টিঙ্কার পরিবেশে প্রতিটি ব্যবহারকারীর পোস্ট খুঁজে পাই।

একটি উদাহরণের মাধ্যমে বোঝা যাক।

প্রথমত আমরা উভয় tables, users এবং posts টেবিলে উপলব্ধ ডেটা দেখি।

users table

posts table

এই ধাপে আমরা ব্যবহারকারী খুঁজে পাব।


উপরের স্ক্রিনশটে আমরা লক্ষ্য করেছি যে $user অবজেক্টে দ্বিতীয় ব্যবহারকারী রয়েছে অর্থাৎ 'users' টেবিলে 2 এর সমান 'id'-এর একটি রেকর্ড রয়েছে।

এখন আমরা $user অবজেক্টের মাধ্যমে User মডেলে উপলব্ধ posts() পদ্ধতি প্রয়োগ করি । '$user->posts' বিবৃতিটিকে একটি ব্যবহারকারী শ্রেণীর পোস্ট পদ্ধতি বলা হয়।


উপরের স্ক্রীনটি দেখায় যে '$user->posts' বিবৃতিটি 'posts' টেবিল থেকে ব্যবহারকারীর পোস্ট পুনরুদ্ধার করে ।

আপনাদের সুবিধার্থে আমি আমার টিপস এন্ড ট্রিকসগুলি ভিডিও আকারে শেয়ার করার জন্য একটি ইউটিউব চ্যানেল তৈরি করেছি। আশা করি চ্যানেলটি Subscribe করবেন।

সৌজন্যে : বাংলাদেশের জনপ্রিয় এবং বর্তমান সময়ের বাংলা ভাষায় সকল গুরুত্বপূর্ণ বিষয়ক টিউটোরিয়াল সাইট - www.TutorialBD71.blogspot.com নিত্যনতুন বিভিন্ন বিষয়ে টিউটোরিয়াল পেতে সাইটটিতে সবসময় ভিজিট করুন।

Leave a Comment