Метод where
Метод where применяется к запросу Eloquent
или Query Builder и возвращает тот же запрос,
дополненный условием выборки. Первым параметром
передаётся имя колонки, вторым - оператор сравнения,
третьим - значение. Если оператор не указан,
используется равенство.
Синтаксис
<?php
Model::where($column, $operator, $value);
?>
Пример
Давайте отфильтруем статьи, у которых поле 'status'
равно 'published':
<?php
use App\Models\Article;
$articles = Article::where('status', 'published')->get();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
"article 1"
"article 2"
"article 3"
Пример
Давайте отфильтруем статьи с id больше 1:
<?php
use App\Models\Article;
$articles = Article::where('id', '>', 1)->get();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
"article 2"
"article 3"
Пример
Отфильтруем записи, где поле 'views' больше или равно 100, а поле 'is_active' равно true:
<?php
use App\Models\Article;
$articles = Article::where('views', '>=', 100)
->where('is_active', true)
->get();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
"article 1"
"article 4"
"article 5"
Пример
Используем метод where с оператором '!=' для выборки записей, у которых поле 'category' не равно 'news':
<?php
use App\Models\Article;
$articles = Article::where('category', '!=', 'news')->get();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
"article 2"
"article 3"
"article 5"