Laravel Eloquent-এ Retrieving Single Models / Aggregates ফিচারটি ডাটাবেস থেকে নির্দিষ্ট একটি রেকর্ড বা অ্যাগ্রিগেট ভ্যালু (যেমন: কাউন্ট, ম্যাক্স, মিন, এভারেজ) রিট্রিভ করার জন্য ব্যবহৃত হয়। এটি সাধারণত তখন ব্যবহৃত হয় যখন আপনাকে একটি নির্দিষ্ট ডেটা বা ডেটা সেটের সংক্ষিপ্ত পরিসংখ্যান প্রয়োজন।
Retrieving Single Models
১. find()
মেথড
প্রাইমারি কী-এর মাধ্যমে নির্দিষ্ট রেকর্ড রিট্রিভ করতে ব্যবহার করা হয়।
use App\Models\Post;
// প্রাইমারি কী ১-এর রেকর্ড
$post = Post::find(1);
if ($post) {
echo $post->title;
}
২. findOrFail()
মেথড
রেকর্ড না পেলে 404 HTTP Exception ছুড়ে দেয়।
$post = Post::findOrFail(1);
৩. first()
মেথড
প্রথম রেকর্ড রিট্রিভ করতে ব্যবহার করা হয়।
$post = Post::where('status', 'published')->first();
if ($post) {
echo $post->title;
}
৪. firstOrFail()
মেথড
প্রথম রেকর্ড না পেলে 404 HTTP Exception ছুড়ে দেয়।
$post = Post::where('status', 'published')->firstOrFail();
৫. value()
মেথড
কোনো নির্দিষ্ট কলামের একক ভ্যালু রিট্রিভ করতে ব্যবহৃত হয়।
$title = Post::where('id', 1)->value('title');
৬. pluck()
মেথড
নির্দিষ্ট কলামের একাধিক ভ্যালু রিটার্ন করতে ব্যবহার করা হয়।
$titles = Post::where('status', 'published')->pluck('title');
Retrieving Aggregates
Eloquent এর মাধ্যমে অ্যাগ্রিগেট মেথডগুলো সরাসরি ডাটাবেস থেকে ডেটা গণনা করতে ব্যবহৃত হয়। নিচে কিছু গুরুত্বপূর্ণ মেথড দেখানো হলো:
১. count()
ডাটাবেসে রেকর্ডের সংখ্যা গণনা করে।
$postCount = Post::count();
২. max()
কোনো নির্দিষ্ট কলামের সর্বোচ্চ মান রিটার্ন করে।
$maxViews = Post::max('views');
৩. min()
কোনো নির্দিষ্ট কলামের সর্বনিম্ন মান রিটার্ন করে।
$minViews = Post::min('views');
৪. avg()
কোনো নির্দিষ্ট কলামের গড় মান রিটার্ন করে।
$averageViews = Post::avg('views');
৫. sum()
কোনো নির্দিষ্ট কলামের মোট যোগফল রিটার্ন করে।
$totalViews = Post::sum('views');
Combination of Single Models and Aggregates
আপনি একসাথে অ্যাগ্রিগেট এবং রেকর্ড ফিল্টারিং মেথড ব্যবহার করতে পারেন।
$totalPublishedPosts = Post::where('status', 'published')->count();
$maxPublishedViews = Post::where('status', 'published')->max('views');
উদাহরণ: Single Record এবং Aggregates একত্রে ব্যবহার
use App\Models\Post;
// প্রথম Published পোস্ট রিট্রিভ করুন
$post = Post::where('status', 'published')->first();
// যদি পোস্ট পাওয়া যায়
if ($post) {
echo "Title: " . $post->title;
}
// Published পোস্টের মোট সংখ্যা
$totalPublishedPosts = Post::where('status', 'published')->count();
// Published পোস্টগুলোর সর্বোচ্চ ভিউ
$maxPublishedViews = Post::where('status', 'published')->max('views');
echo "Total Published Posts: $totalPublishedPosts";
echo "Maximum Views for Published Posts: $maxPublishedViews";
Top comments (0)