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

بخش دوم - مدل ها - قسمت پنجم (متدهای شرطی - 1)


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

این کد تمام کاربران با وضعیت 'active' و سن بزرگتر از 18 را بازیابی می‌کند.

2- متد orWhere
برای اعمال یک شرط OR بر روی کوئری استفاده می‌شود.
$users = User::where('status', 'active')->orWhere('age', '>', 18)->get();

این کد تمام کاربران با وضعیت 'active' یا کاربرانی که سن آن‌ها بیشتر از ۱۸ است را بازیابی می‌کند.

3- متد whereNot
برای اعمال شرطی که مخالف یک شرط مشخص است، استفاده می‌شود.
$users = User::whereNot('status', 'inactive')->get();

ین کد تمام کاربرانی که وضعیت آن‌ها 'inactive' نیست را بازیابی می‌کند.

4- متد orWhereNot
برای اعمال یک شرط OR که مخالف یک شرط مشخص است، استفاده می‌شود.
$users = User::where('age', '<', 30)->orWhereNot('status', 'inactive')->get();

این کد تمام کاربرانی که سن آن‌ها کمتر از ۳۰ است یا وضعیت آن‌ها 'inactive' نیست را بازیابی می‌کند.

5- متد whereRaw
به شما اجازه می‌دهد که یک شرط خام SQL را به کوئری اضافه کنید.
$users = User::whereRaw('age > ? AND status = ?', [18, 'active'])->get();

این کد تمام کاربران با سن بیشتر از ۱۸ و وضعیت 'active' را بازیابی می‌کند.

6- متد orWhereRaw
برای افزودن شرط OR به یک کوئری با استفاده از SQL خام استفاده می‌شود.
$users = User::where('status', 'active')->orWhereRaw('age > ?', [18])->get();

این کد تمام کاربران با وضعیت 'active' یا سن بیشتر از ۱۸ را بازیابی می‌کند.

7- متد whereColumn
برای اعمال شرطی که دو ستون را با یکدیگر مقایسه می‌کند، استفاده می‌شود.
$users = User::whereColumn('created_at', '>', 'updated_at')->get();

این کد تمام کاربرانی را که تاریخ ایجاد آن‌ها جدیدتر از تاریخ به‌روزرسانی‌شان است، بازیابی می‌کند.

8- متد whereNull
برای جستجوی رکوردهایی که مقدار مشخصی در آن‌ها NULL است، استفاده می‌شود.
$users = User::whereNull('deleted_at')->get();

این کد تمام کاربرانی که فیلد deleted_at آن‌ها مقدار NULL دارد (حذف نشده‌اند)، بازیابی می‌کند.

9- متد whereNotNull
رای جستجوی رکوردهایی که مقدار مشخصی در آن‌ها NULL نیست، استفاده می‌شود.
$users = User::whereNotNull('email')->get();

این کد تمام کاربرانی که فیلد email آن‌ها مقدار NULL ندارد را بازیابی می‌کند.

10- متد whereDate
برای فیلتر کردن رکوردها بر اساس تاریخ استفاده می‌شود.
$users = User::whereDate('created_at', '2024-09-12')->get();


11- متد whereMonth
برای فیلتر کردن رکوردها بر اساس ماه استفاده می‌شود.
$users = User::whereMonth('created_at', '09')->get();


12- متد whereDay
برای فیلتر کردن رکوردها بر اساس روز استفاده می‌شود.
$users = User::whereDay('created_at', '12')->get();


13- متد whereYear
برای فیلتر کردن رکوردها بر اساس سال استفاده می‌شود.
$users = User::whereYear('created_at', '2024')->get();


14- متد whereTime
برای فیلتر کردن رکوردها بر اساس زمان استفاده می‌شود.
$users = User::whereTime('created_at', '14:30:00')->get();


15- متد whereAny
برای فیلتر کردن رکوردها با هر یک از شرایط مشخص استفاده می‌شود.
$users = User::whereAny([
['status', 'active'],
['age', '>', 18]
])->get();

این کد تمام کاربرانی را که وضعیت آن‌ها 'active' است یا سن آن‌ها بیشتر از ۱۸ است، بازیابی می‌کند.

16- متد whereAll
برای فیلتر کردن رکوردها با تمام شرایط مشخص استفاده می‌شود.
$users = User::whereAll([
['status', 'active'],
['age', '>', 18]
])->get();

این کد تمام کاربرانی را که وضعیت آن‌ها 'active' و سن آن‌ها بیشتر از ۱۸ است، بازیابی می‌کند.

17- متد whereNone
برای فیلتر کردن رکوردهایی که هیچ‌کدام از شرایط مشخص را ندارند، استفاده می‌شود.
$users = User::whereNone([
['status', 'inactive'],
['age', '<', 18]
])->get();

این کد تمام کاربرانی را که وضعیت آن‌ها 'inactive' نیست و سن آن‌ها کمتر از ۱۸ نیست، بازیابی می‌کند.

▫️ 🟠
🔎 #laravel #لاراول #فصل_۴
💠 @AmirhDeveloper
.
  • ❤ 2
  • 👍 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 →