লারাভেল (Laravel) ফ্রেমওয়ার্কটি ডাটাবেসের সাথে কাজ করার জন্য শক্তিশালী এবং সহজে ব্যবহারযোগ্য টুল সরবরাহ করে। এর মধ্যে একটি অন্যতম শক্তিশালী টুল হলো লারাভেল কুয়েরি বিল্ডার (Laravel Query Builder)। এটি ডাটাবেসের তথ্য খুব সহজ ও ফ্লুয়েন্টভাবে (fluent) তুলে আনা, আপডেট করা, এবং ডিলিট করা সহ বিভিন্ন কাজ পরিচালনা করতে ব্যবহৃত হয়।
লারাভেল কুয়েরি বিল্ডার (Query Builder) একটি API যা ডাটাবেসের কুয়েরি তৈরির জন্য ব্যবহার করা হয়। এটি ডাটাবেসের সাথে যোগাযোগ করার জন্য একাধিক মেথড সরবরাহ করে যা খুব সহজে এবং সোজা ভাবে কুয়েরি লেখার কাজকে সহজ করে তোলে। কুয়েরি বিল্ডার SQL কুয়েরি তৈরি করতে সহায়তা করে, কিন্তু SQL কুয়েরি লেখার পরিবর্তে PHP কোডের মাধ্যমে কুয়েরি লেখার সুবিধা দেয়।
SELECT কুয়েরি লেখার জন্য কুয়েরি বিল্ডারের table()
মেথড ব্যবহার করা হয়। উদাহরণস্বরূপ:
$users = DB::table('users')->get();
এখানে, users
টেবিল থেকে সব রেকর্ড নিয়ে আসা হবে।
where()
মেথড ব্যবহার করে আপনি কুয়েরিতে শর্ত যোগ করতে পারেন। উদাহরণস্বরূপ:
$users = DB::table('users')
->where('status', 'active')
->get();
এটি users
টেবিল থেকে কেবলমাত্র সেই ইউজারদের নিয়ে আসবে, যাদের status
হল active
।
আপনি where()
এর মাধ্যমে একাধিক শর্ত যোগ করতে পারেন, যেমন:
$users = DB::table('users')
->where('status', 'active')
->where('age', '>', 25)
->get();
এটি status
active
এবং age
২৫ এর বেশি এমন সব ইউজারদের নিয়ে আসবে।
নতুন ডাটা ইনসার্ট করতে insert()
মেথড ব্যবহার করা হয়:
DB::table('users')->insert([
'name' => 'John Doe',
'email' => 'john@example.com',
'status' => 'active'
]);
এটি users
টেবিলের মধ্যে একটি নতুন রেকর্ড ইনসার্ট করবে।
কোনো ডাটাবেস রেকর্ড আপডেট করার জন্য update()
মেথড ব্যবহার করা হয়। উদাহরণ:
DB::table('users')
->where('id', 1)
->update(['status' => 'inactive']);
এটি users
টেবিলের প্রথম রেকর্ডের status
ফিল্ডটি inactive
এ আপডেট করবে যেখানে id
১।
ডাটাবেস থেকে কোনো রেকর্ড ডিলিট করতে delete()
মেথড ব্যবহার করা হয়:
DB::table('users')
->where('id', 1)
->delete();
এটি users
টেবিল থেকে id
১ এর রেকর্ডটি মুছে ফেলবে।
limit(): ডাটাবেস থেকে নির্দিষ্ট সংখ্যক রেকর্ড ফেরত পাওয়ার জন্য।
$users = DB::table('users')->limit(5)->get();
orderBy(): রেকর্ড গুলো একটি নির্দিষ্ট কলামের উপর ভিত্তি করে সাজানোর জন্য।
$users = DB::table('users')->orderBy('name', 'asc')->get();
distinct(): ইউনিক (অদ্বিতীয়) রেকর্ড ফেরত পাওয়ার জন্য।
$users = DB::table('users')->distinct()->get();
join(): একাধিক টেবিলের মধ্যে যোগফল করতে join()
ব্যবহার করা হয়।
$users = DB::table('users')
->join('posts', 'users.id', '=', 'posts.user_id')
->select('users.name', 'posts.title')
->get();
লারাভেল কুয়েরি বিল্ডার ডাটাবেসের কাজগুলো খুব সহজ, দ্রুত এবং নিরাপদভাবে পরিচালনা করতে সহায়তা করে। এটি ডেভেলপারদের জন্য একটি অত্যন্ত কার্যকরী টুল, যা কোডিং সময় সাশ্রয়ী করে এবং ডাটাবেস পরিচালনার ক্ষেত্রে আরও দক্ষতা এনে দেয়।