FuelPHP একটি হালকা, দ্রুত এবং কাস্টমাইজযোগ্য PHP ফ্রেমওয়ার্ক যা MVC (Model-View-Controller) আর্কিটেকচার ব্যবহার করে ওয়েব অ্যাপ্লিকেশন এবং সাইট নির্মাণের জন্য ব্যবহৃত হয়। FuelPHP-তে Query Builder এর মাধ্যমে ডাটাবেস কুয়েরি তৈরি করা যায়, যা ডাটাবেসের সাথে ইন্টারঅ্যাকশন করার জন্য একটি সহজ এবং কার্যকরী পদ্ধতি প্রদান করে।
Query Builder FuelPHP তে একটি শক্তিশালী ফিচার, যা আপনাকে SQL কুয়েরি লেখার পরিবর্তে পিএইচপি কোড ব্যবহার করে ডাটাবেস অপারেশন পরিচালনা করতে সাহায্য করে। এটি MySQL, PostgreSQL, এবং SQLite এর মত ডাটাবেস সমর্থন করে এবং বিভিন্ন কুয়েরি অপারেশন যেমন SELECT, INSERT, UPDATE, DELETE ইত্যাদি সহজে তৈরি করতে ব্যবহৃত হয়।
FuelPHP Query Builder ব্যবহার করে Database Queries তৈরি
1. Query Builder এর প্রাথমিক ব্যবহার
FuelPHP এর Query Builder ক্লাসটি মূলত DB ক্লাসের মাধ্যমে ব্যবহার করা হয়। আপনি এটি ব্যবহার করে SELECT, INSERT, UPDATE, DELETE কুয়েরি তৈরি এবং ডাটাবেসে প্রয়োগ করতে পারবেন।
2. SELECT Query তৈরি করা
SELECT কুয়েরি তৈরি করতে Query Builder এর from(), where(), order_by(), limit() ইত্যাদি মেথড ব্যবহার করা হয়।
// SELECT Query Example
$query = DB::select('id', 'name', 'email') // নির্বাচিত কলামসমূহ
->from('users') // যেই টেবিল থেকে ডেটা আনতে হবে
->where('status', '=', 'active') // কন্ডিশন
->order_by('name', 'asc') // অর্ডারিং
->limit(10) // সীমিত রেজাল্ট
->execute(); // কুয়েরি এক্সিকিউট
// ডেটা ফলাফল
foreach ($query as $row) {
echo $row['id'] . ' - ' . $row['name'] . '<br>';
}
এখানে:
DB::select()দিয়ে কুয়েরি শুরু করা হয়, যেখানে আপনি যে কলামগুলো নির্বাচন করতে চান তা উল্লেখ করবেন।from()মেথড দিয়ে টেবিল নির্ধারণ করা হয়।where()মেথড দিয়ে ফিল্টার/কন্ডিশন যোগ করা হয়।order_by()দিয়ে রেজাল্ট অর্ডার করা হয়।limit()দিয়ে সীমিত সংখ্যক রেজাল্ট ফেরত পাওয়ার জন্য সীমা নির্ধারণ করা হয়।
3. INSERT Query তৈরি করা
FuelPHP এর Query Builder ব্যবহার করে ডাটাবেসে ডেটা ইনসার্ট করা খুবই সহজ। insert() মেথড ব্যবহার করা হয় নতুন রেকর্ড ডাটাবেসে যুক্ত করতে।
// INSERT Query Example
$data = array(
'name' => 'John Doe',
'email' => 'john.doe@example.com',
'status' => 'active'
);
DB::insert('users')->set($data)->execute();
এখানে:
DB::insert()দিয়ে ইনসার্ট কুয়েরি শুরু করা হয়।set($data)এর মাধ্যমে ইনপুট ডেটা অ্যারে হিসেবে পাস করা হয়।execute()মেথডটি কুয়েরি এক্সিকিউট করে ডেটাবেসে রেকর্ড যুক্ত করবে।
4. UPDATE Query তৈরি করা
ডাটাবেসে বিদ্যমান রেকর্ড আপডেট করার জন্য Query Builder এর update() এবং set() মেথড ব্যবহার করা হয়।
// UPDATE Query Example
$data = array(
'status' => 'inactive'
);
DB::update('users')
->set($data) // আপডেট হওয়া ডেটা
->where('id', '=', 1) // কন্ডিশন
->execute(); // কুয়েরি এক্সিকিউট
এখানে:
DB::update()দিয়ে আপডেট কুয়েরি শুরু করা হয়।set($data)এর মাধ্যমে আপডেট হওয়া ডেটা অ্যারে হিসেবে পাস করা হয়।where()মেথড দিয়ে কন্ডিশন দেয়া হয়, যে রেকর্ডটি আপডেট করা হবে।execute()কুয়েরি এক্সিকিউট করে রেকর্ডটি আপডেট করবে।
5. DELETE Query তৈরি করা
ডাটাবেস থেকে রেকর্ড মুছে ফেলার জন্য Query Builder এর delete() মেথড ব্যবহার করা হয়।
// DELETE Query Example
DB::delete('users')
->where('id', '=', 1) // কন্ডিশন
->execute(); // কুয়েরি এক্সিকিউট
এখানে:
DB::delete()দিয়ে ডিলিট কুয়েরি শুরু করা হয়।where()মেথড দিয়ে কন্ডিশন দেয়া হয়, যে রেকর্ডটি মুছে ফেলা হবে।execute()কুয়েরি এক্সিকিউট করে ডাটাবেস থেকে রেকর্ডটি মুছে ফেলবে।
6. Query Builder তে JOIN ব্যবহার করা
JOIN কুয়েরি তৈরি করার জন্য FuelPHP এর Query Builder এ join() মেথড ব্যবহার করা হয়। এটি দুটি টেবিলের ডেটা একত্রে আনার জন্য ব্যবহার করা হয়।
// JOIN Query Example
$query = DB::select('users.id', 'users.name', 'orders.total')
->from('users')
->join('orders', 'INNER')->on('users.id', '=', 'orders.user_id') // JOIN
->where('users.status', '=', 'active')
->execute();
foreach ($query as $row) {
echo $row['name'] . ' - ' . $row['total'] . '<br>';
}
এখানে:
join('orders', 'INNER')->on('users.id', '=', 'orders.user_id'): এটিusersটেবিলের সাথেordersটেবিলের মধ্যে একটি INNER JOIN তৈরি করে।select()এর মাধ্যমে আপনি একাধিক টেবিলের কলাম সিলেক্ট করতে পারেন।
7. FuelPHP Query Builder কাস্টম SQL ব্যবহার
আপনি যদি FuelPHP এর Query Builder দিয়ে কোনো কাস্টম SQL কুয়েরি লিখতে চান তবে DB::query() মেথড ব্যবহার করতে পারেন।
// Custom SQL Query Example
$query = DB::query("SELECT * FROM users WHERE status = 'active' LIMIT 10")->execute();
foreach ($query as $row) {
echo $row['name'] . ' - ' . $row['email'] . '<br>';
}
এখানে:
DB::query()ব্যবহার করে আপনি কাস্টম SQL কুয়েরি করতে পারেন।
FuelPHP এর Query Builder একটি খুবই শক্তিশালী এবং সহজে ব্যবহারযোগ্য টুল যা আপনাকে SELECT, INSERT, UPDATE, DELETE, এবং JOIN সহ অন্যান্য SQL অপারেশন সহজে করতে সাহায্য করে। এটি PHP কোডের মাধ্যমে ডেটাবেস কুয়েরি তৈরি করার একটি পরিষ্কার এবং কার্যকরী পদ্ধতি প্রদান করে, যা কোডকে আরও রিডেবল এবং ম্যানেজেবল করে তোলে।
Read more