TGViewer
| AmirHossein | | AmirHossein | @amirhdeveloper · 611 subscribers
Post #305 157
فصل چهار - مدل‌ها و Eloquent ORM

بخش دوم - مدل ها - قسمت چهارم (متدهای بازیابی)


1- متد get
برای بازیابی مجموعه‌ای از رکوردها از دیتابیس استفاده می‌شود.
$users = User::where('status', 'active')->get();


2- متد first
اولین رکورد مطابق با شرایط مشخص شده را بازیابی می‌کند.
$user = User::where('status', 'active')->first();


3- متد firstOrFail
اولین رکورد مطابق با شرایط را بازیابی می‌کند؛ اگر رکوردی یافت نشود، یک استثنا برگشت داده می‌شود.
$user = User::where('status', 'active')->firstOrFail();


4- متد value
برای بازیابی مقدار یک فیلد خاص از اولین رکورد مطابق با شرایط استفاده می‌شود.
$email = User::where('name', 'John')->value('email');

این کد مقدار فیلد email اولین کاربری که نام آن 'John' باشد را برمی‌گرداند.

5- متد find
برای بازیابی رکوردی با شناسه (ID) مشخص استفاده می‌شود.
$user = User::find(1);


6- متد pluck
برای بازیابی مقادیر یک ستون خاص از تمام رکوردهای مطابق استفاده می‌شود.
$emails = User::where('status', 'active')->pluck('email');

این کد تمامی ایمیل‌های کاربران با وضعیت 'active' را به صورت آرایه‌ای از مقادیر برمی‌گرداند.

7- متد select
برای انتخاب ستون‌های خاص از جدول استفاده می‌شود.
$users = User::select('name', 'email')->get();

این کد فقط نام و ایمیل تمام کاربران را از دیتابیس بازیابی می‌کند.

8- متد distinct
برای انتخاب مقادیر منحصر به فرد (یونیک) از یک ستون خاص استفاده می‌شود.
$names = User::select('name')->distinct()->get();

این کد تمامی نام‌های منحصر به فرد کاربران را از دیتابیس بازیابی می‌کند.

9- متد addSelect
برای اضافه کردن ستون‌های بیشتر به یک کوئری select استفاده می‌شود.
$users = User::select('name')->addSelect('email')->get();

این کد ابتدا ستون name را انتخاب می‌کند و سپس ستون email را به کوئری اضافه می‌کند.

10- متد selectRaw
برای نوشتن کوئری‌های خام SQL استفاده می‌شود.
$users = User::selectRaw('name, COUNT(*) as count')->groupBy('name')->get();

این کد نام کاربران را به همراه تعداد رکوردهای مربوط به هر نام، با استفاده از کوئری خام SQL، بازیابی می‌کند.

11- متد firstWhere
اولین رکورد مطابق با شرایط مشخص شده را بازیابی می‌کند.
$user = User::firstWhere('name', 'John');

این کد اولین کاربری که نام آن 'John' باشد را بازیابی می‌کند.

12- متد findOr
رکوردی با شناسه مشخص را بازیابی می‌کند یا یک عمل جایگزین را اجرا می‌کند اگر یافت نشد.
$user = User::findOr(1, function () {
return new User(['name' => 'Default User']);
});

این کد کاربری با شناسه 1 را پیدا می‌کند. اگر وجود نداشته باشد، یک کاربر جدید با نام 'Default User' ایجاد می‌کند.

13- متد firstOr
اولین رکورد مطابق با شرایط را بازیابی می‌کند یا یک عمل جایگزین را اجرا می‌کند اگر رکورد یافت نشد.
$user = User::where('name', 'John')->firstOr(function () {
return new User(['name' => 'Default User']);
});

این کد اولین کاربری که نام آن 'John' باشد را بازیابی می‌کند. اگر وجود نداشته باشد، یک کاربر جدید با نام 'Default User' ایجاد می‌کند.

14- متد findOrFail
رکوردی با شناسه مشخص را بازیابی می‌کند. اگر وجود نداشته باشد، یک استثنا برگشت داده می‌شود.
$user = User::findOrFail(1);

این کد کاربری با شناسه 1 را بازیابی می‌کند. اگر وجود نداشته باشد، یک استثنا برگشت داده می‌شود.

15- متد findOrNew
رکوردی با شناسه مشخص را بازیابی می‌کند یا یک مدل جدید ایجاد می‌کند اگر رکورد یافت نشد.
$user = User::findOrNew(1);

این کد کاربری با شناسه 1 را بازیابی می‌کند. اگر کاربری با این شناسه وجود نداشته باشد، یک نمونه جدید از مدل User ایجاد می‌کند.

16- متد firstOrCreate
تلاش می‌کند اولین رکورد مطابق با شرایط را پیدا کند؛ اگر یافت نشد، یک رکورد جدید ایجاد و در دیتابیس ذخیره می‌کند.
$user = User::firstOrCreate(
['email' => 'test@gmail.com'],
['name' => 'John']
);

این کد تلاش می‌کند تا اولین کاربر با ایمیل 'test@gmail.com' را پیدا کند. اگر وجود نداشت، یک کاربر جدید با ادغام دو ورودی ایجاد می‌کند.

▫️ 🟠
🔎 #laravel #لاراول #فصل_۴
💠 @AmirhDeveloper
.
  • ❤ 3
  • 👍 1
More from @amirhdeveloper
  1. Sep 30, 2026پکیج LaraGram Sentinel منتشر شد؛ یک پنل مانیتورینگ که هیچ چیزی از زیر دستش در نمی‌ره! تمام…
  2. Sep 23, 2026از امروز با کاهش شدید حاکرها مواجه میشیم
  3. Sep 19, 2026🔴 سوال سوم دو Region دارید: US-East و EU-West. کاربران در هر دو Region هستند. سیستم باید…
  4. Sep 19, 2026🟠 سوال دوم فرض کنید Service A به Service B درخواست می‌زند. B به‌دلیل overload، latency با…
  5. Sep 19, 2026🟢 سوال اول فرض کنید یک سرویس backend داریم که به PostgreSQL وصل می‌شود. تعداد requestها ن…
  6. Sep 19, 2026خیلی وقته پست‌های کانال فقط درمورد LaraGram بوده، وقتشه یکم جالب‌ترش کنیم اگر ممبرها هنوز…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →