Добрый день, подскажите как сделать правильно выборку из базы данных?
Сейчас делаю так:
$ar_select_properties = [1,2];
Product::select('product.*')
->leftJoin('product_attribute', 'product_attribute.product_id', '=', 'product.id')
->where(function($query) use ($ar_select_properties) {
if (isset($ar_select_properties)) {
foreach ($ar_select_properties as $property) {
$query->where('product_attribute.attribute_id', $property);
}
}
})->get();
SQL получается
select `product`.`id` from `product` left join `product_attribute` on `product_attribute`.`product_id` = `product`.`id`
where `product_attribute`.`attribute_id` = '1' and `product_attribute`.`attribute_id` = '2'
но в результате ничего не приходит, но если $ar_select_properties = [1] или $ar_select_properties = [2]
например:
select `product`.`id` from `product` left join `product_attribute` on `product_attribute`.`product_id` = `product`.`id`
where `product_attribute`.`attribute_id` = '1'
возвращаются нормальные данные.