DEV Community

Cover image for Laravel Eloquent ORM in Bangla Part-4 (Retrieving Single Models / Aggregates)
Sontus Chandra Anik
Sontus Chandra Anik

Posted on

Laravel Eloquent ORM in Bangla Part-4 (Retrieving Single Models / Aggregates)

Laravel Eloquent-এ Retrieving Single Models / Aggregates ফিচারটি ডাটাবেস থেকে নির্দিষ্ট একটি রেকর্ড বা অ্যাগ্রিগেট ভ্যালু (যেমন: কাউন্ট, ম্যাক্স, মিন, এভারেজ) রিট্রিভ করার জন্য ব্যবহৃত হয়। এটি সাধারণত তখন ব্যবহৃত হয় যখন আপনাকে একটি নির্দিষ্ট ডেটা বা ডেটা সেটের সংক্ষিপ্ত পরিসংখ্যান প্রয়োজন।

Retrieving Single Models

১. find() মেথড

প্রাইমারি কী-এর মাধ্যমে নির্দিষ্ট রেকর্ড রিট্রিভ করতে ব্যবহার করা হয়।

use App\Models\Post; // প্রাইমারি কী ১-এর রেকর্ড $post = Post::find(1); if ($post) { echo $post->title; } 
Enter fullscreen mode Exit fullscreen mode

২. findOrFail() মেথড

রেকর্ড না পেলে 404 HTTP Exception ছুড়ে দেয়।

$post = Post::findOrFail(1); 
Enter fullscreen mode Exit fullscreen mode

৩. first() মেথড

প্রথম রেকর্ড রিট্রিভ করতে ব্যবহার করা হয়।

$post = Post::where('status', 'published')->first(); if ($post) { echo $post->title; } 
Enter fullscreen mode Exit fullscreen mode

৪. firstOrFail() মেথড

প্রথম রেকর্ড না পেলে 404 HTTP Exception ছুড়ে দেয়।

$post = Post::where('status', 'published')->firstOrFail(); 
Enter fullscreen mode Exit fullscreen mode

৫. value() মেথড

কোনো নির্দিষ্ট কলামের একক ভ্যালু রিট্রিভ করতে ব্যবহৃত হয়।

$title = Post::where('id', 1)->value('title'); 
Enter fullscreen mode Exit fullscreen mode

৬. pluck() মেথড

নির্দিষ্ট কলামের একাধিক ভ্যালু রিটার্ন করতে ব্যবহার করা হয়।

$titles = Post::where('status', 'published')->pluck('title'); 
Enter fullscreen mode Exit fullscreen mode

Retrieving Aggregates

Eloquent এর মাধ্যমে অ্যাগ্রিগেট মেথডগুলো সরাসরি ডাটাবেস থেকে ডেটা গণনা করতে ব্যবহৃত হয়। নিচে কিছু গুরুত্বপূর্ণ মেথড দেখানো হলো:

১. count()

ডাটাবেসে রেকর্ডের সংখ্যা গণনা করে।

$postCount = Post::count(); 
Enter fullscreen mode Exit fullscreen mode

২. max()

কোনো নির্দিষ্ট কলামের সর্বোচ্চ মান রিটার্ন করে।

$maxViews = Post::max('views'); 
Enter fullscreen mode Exit fullscreen mode

৩. min()

কোনো নির্দিষ্ট কলামের সর্বনিম্ন মান রিটার্ন করে।

$minViews = Post::min('views'); 
Enter fullscreen mode Exit fullscreen mode

৪. avg()

কোনো নির্দিষ্ট কলামের গড় মান রিটার্ন করে।

$averageViews = Post::avg('views'); 
Enter fullscreen mode Exit fullscreen mode

৫. sum()

কোনো নির্দিষ্ট কলামের মোট যোগফল রিটার্ন করে।

$totalViews = Post::sum('views'); 
Enter fullscreen mode Exit fullscreen mode

Combination of Single Models and Aggregates

আপনি একসাথে অ্যাগ্রিগেট এবং রেকর্ড ফিল্টারিং মেথড ব্যবহার করতে পারেন।

$totalPublishedPosts = Post::where('status', 'published')->count(); $maxPublishedViews = Post::where('status', 'published')->max('views'); 
Enter fullscreen mode Exit fullscreen mode

উদাহরণ: 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"; 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)