Метод whereAll
Метод whereAll применяется к запросу Eloquent
или Query Builder и возвращает тот же запрос,
дополненный условием выборки. Он проверяет,
что все переданные значения совпадают с соответствующими
полями записи. Первым параметром передаётся массив
условий вида ['column' => value].
Синтаксис
<?php
Model::whereAll($conditions);
?>
Пример
Давайте найдём статьи, у которых поле 'status'
равно 'published' и поле 'category_id'
равно 1:
<?php
use AppModelsArticle;
$articles = Article::whereAll([
'status' => 'published',
'category_id' => 1
])->get();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
["article 1", "article 3", "article 5"]
Пример
Давайте найдём пользователей с именем 'John'
и возрастом 25:
<?php
use AppModelsUser;
$users = User::whereAll([
'name' => 'John',
'age' => 25
])->get();
foreach ($users as $user) {
echo $user->email;
}
?>
Результат выполнения кода:
["john@example.com", "john.doe@example.com"]
Пример
Давайте найдём заказы с суммой 1000 и статусом
'completed', используя метод whereAll
с Builder:
<?php
use IlluminateSupportFacadesDB;
$orders = DB::table('orders')
->whereAll([
'total' => 1000,
'status' => 'completed'
])
->get();
foreach ($orders as $order) {
echo $order->id;
}
?>
Результат выполнения кода:
["1", "3", "7"]