/** * Left joins a subquery containing the product price * * @param \October\Rain\Database\Builder $query * @return \October\Rain\Database\Builder */ public function scopeJoinPrice($query) { $alias = 'prices'; $grammar = $query->getQuery()->getGrammar(); $subquery = Price::isRunning()->addselect('bedard_shop_prices.product_id')->selectRaw('MIN(' . $grammar->wrap('bedard_shop_prices.price') . ') as ' . $grammar->wrap('price'))->groupBy('bedard_shop_prices.product_id'); return $query->addSelect($alias . '.price')->joinSubquery($subquery, $alias, 'bedard_shop_products.id', '=', $alias . '.product_id'); }