Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Всем привет. Есть метод который принимает $productId, но $productId может быть null или значение, как сделать что бы когда $productId = null, то where вообще не выполнялось.
public function getOperations($productId)
{
return $this->model
->join('articles', 'articles.id', '=', 'operation_articles.article_id')
->leftJoin('product_options', 'product_options.id', '=', 'books.product_option_id')
->leftJoin('products', 'products.id', '=', 'product_options.product_id')
->select(
'booking_tour_points.id',
'bookings.date',
)
->where('products.id', $productId)
->get();
}
public function getOperations($productId)
{
$return = $this->model
->join('articles', 'articles.id', '=', 'operation_articles.article_id')
->leftJoin('product_options', 'product_options.id', '=', 'books.product_option_id')
->leftJoin('products', 'products.id', '=', 'product_options.product_id')
->select(
'booking_tour_points.id',
'bookings.date',
);
if ( $productId != null )
$return->where('products.id', $productId)
return $return->get();
}
это есть в документации
Изменено hzone (19.01.2016 19:32:50)
Не в сети
Изменю немного метод:
public function getOperations($productId)
{
$first = $this->model
->join('articles', 'articles.id', '=', 'operation_articles.article_id')
->leftJoin('product_options', 'product_options.id', '=', 'books.product_option_id')
->leftJoin('products', 'products.id', '=', 'product_options.product_id')
->select(
'booking_tour_points.id',
'bookings.date',
)
->where('products.id', $productId)
->where('bookings.date', $date)
->groupBy('products.id');
return $this->model
->join('articles', 'articles.id', '=', 'operation_articles.article_id')
->leftJoin('product_options', 'product_options.id', '=', 'books.product_option_id')
->leftJoin('products', 'products.id', '=', 'product_options.product_id')
->select(
'booking_tour_points.id',
'bookings.date',
)
->where('products.id', $productId)
->where('bookings.date', $date)
->groupBy('bookings.date')
->union($first);
}
Страницы 1