ایجاد کوئری با چندین شرط Where در Laravel Eloquent

برای ساختن کوئری های با چندین شرط where در Laravel Eloquent، می‌توانید به صورت زنجیره‌وار چندین بار متد where را فراخوانی کنید یا از یک آرایه شامل چندین شرط استفاده نمایید. در اینجا چند نمونه آورده شده است:

1. زنجیره‌وار کردن فراخوانی‌های where:

$results = User::where('column1', '=', 'value1')
                ->where('column2', '=', 'value2')
                ->where('column3', '=', 'value3')
                ->get();

این کد یک کوئری با چندین شرط AND تولید می‌کند.

2. استفاده از آرایه‌ای از شرط ها:

$results = User::where([
    ['column1', '=', 'value1'],
    ['column2', '=', 'value2'],
    ['column3', '=', 'value3']
])->get();

این کد نیز یک کوئری با چندین شرط AND تولید می‌کند.

3. ترکیب where و orWhere:

$results = User::where('column1', '=', 'value1')
                ->where(function($query) {
                    $query->where('column2', '=', 'value2')
                          ->orWhere('column3', '=', 'value3');
                })
                ->get();

این کد یک کوئری با ترکیب شرایط AND و OR تولید می‌کند.

همچنین می‌توانید از متدهای whereIn برای بررسی وجود مقدار یک ستون در یک آرایه از مقادیر، یا whereNotIn برای برعکس آن استفاده کنید.

مختصرترین و خواناترین روش استفاده از یک آرایه از شرایط (روش 2) است، زیرا باعث می‌شود کد تمیز و نگهداری آن آسان باشد.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *