Model হলো CodeIgniter এর MVC (Model-View-Controller) আর্কিটেকচারের একটি গুরুত্বপূর্ণ অংশ। এটি ডাটাবেস বা ডেটা-সংক্রান্ত সমস্ত কার্যকলাপ পরিচালনা করে। Model ব্যবহার করে ডাটাবেসের সাথে সংযোগ স্থাপন, ডেটা রিট্রিভাল, ডেটা মডিফিকেশন, এবং অন্যান্য ডেটাবেস অপারেশন করা যায়।
Model মূলত একটি ক্লাস যা ডাটাবেসের কার্যক্রম পরিচালনা করে। এটি ডাটাবেস থেকে ডেটা টেনে এনে Controller এ পাঠায় এবং View এর মাধ্যমে সেই ডেটা প্রদর্শন করে।
CodeIgniter এ Model তৈরি করার জন্য নিম্নলিখিত ধাপগুলো অনুসরণ করুন:
app/Models
ডিরেক্টরিতে একটি নতুন Model তৈরি করুন। উদাহরণস্বরূপ, একটি ProductModel তৈরি করা যাক:
namespace App\Models;
use CodeIgniter\Model;
class ProductModel extends Model
{
protected $table = 'products'; // টেবিলের নাম
protected $primaryKey = 'id'; // প্রাইমারি কী
// টেবিলের ফিল্ডসমূহ
protected $allowedFields = ['name', 'description', 'price'];
}
id
)।Controller-এ Model ব্যবহার করতে এটি লোড করতে হয়। উদাহরণস্বরূপ:
namespace App\Controllers;
use App\Models\ProductModel;
class ProductController extends BaseController
{
public function index()
{
$model = new ProductModel();
$data['products'] = $model->findAll(); // ডেটা রিট্রিভ
return view('product_list', $data);
}
}
ডেটা রিট্রিভ করা:
$products = $model->findAll(); // সমস্ত ডেটা
$product = $model->find(1); // নির্দিষ্ট ডেটা
ডেটা ইনসার্ট করা:
$model->save([
'name' => 'Laptop',
'description' => 'A high-performance laptop',
'price' => 1000
]);
ডেটা আপডেট করা:
$model->update(1, [
'price' => 1200
]);
ডেটা ডিলিট করা:
$model->delete(1);
Controller থেকে View-এ ডেটা পাঠানোর জন্য $data
অ্যারে ব্যবহার করা হয়। উদাহরণস্বরূপ:
public function index()
{
$model = new ProductModel();
$data['products'] = $model->findAll();
return view('product_list', $data);
}
View ফাইলে ডেটা অ্যাক্সেস করার উদাহরণ:
<h1>Product List</h1>
<ul>
<?php foreach ($products as $product): ?>
<li><?php echo $product['name']; ?> - $<?php echo $product['price']; ?></li>
<?php endforeach; ?>
</ul>
Model CodeIgniter এর একটি গুরুত্বপূর্ণ উপাদান, যা ডাটাবেস অপারেশন সহজ এবং কার্যকরী করে তোলে। এটি ডেটা এবং লজিক পরিচালনার মাধ্যমে অ্যাপ্লিকেশনের কার্যক্ষমতাকে উন্নত করে।
Read more