Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Всем привет,
Laravel 5.5 приложении нужно вызвать контрол с фильтром в 2мя необязательными параметрами :
public function get_article_size_settings_dt_listing($article_id, $brooklyn_ean= ‘’, $supplier_ean= ‘’) {
$sizeContent= Datatables::of(ArticleSizeSetting::getByArticleId($article_id)->getByBrooklynEanSupplierEan($brooklyn_ean, $supplier_ean)->get())->make(true);
return $sizeContent;
}
И в модели реализовано:
public function scopeGetByArticleIdSizeId($query, $article_id, $size_id)
{
return $query->where('article_id', $article_id)->where('size_id', $size_id);
}
public function scopeGetByBrooklynEanSupplierEan($query, $brooklyn_ean, $supplier_ean)
{
return $query->where('brooklyn_ean', $brooklyn_ean)->where('supplier_ean', $supplier_ean);
}
Но в результате если параметры $brooklyn_ean и $supplier_ean не данны я получаю запросы с null-ами
SELECT *
FROM `article_size_settings`
WHERE `article_id` = '2' AND `brooklyn_ean` is null AND `supplier_ean` is null
Time 1.01 :
SELECT *
FROM `users`
WHERE `users`.`id` = '1' limit 1
А можно ли организовать scope так чтобы чтобы если параметры null по ним не было бы запросов?
Спасибо!
Не в сети
if(empty($var1) || empty($var2)){
return $query;
}
return $query->...
Не в сети
Страницы 1