/** * Add a relationship count condition to the query with where clauses. * * @param string $relation * @param \Closure $callback * @param string $operator * @param int $count * @return \Illuminate\Database\Eloquent\Builder|static * @static */ public static function whereHas($relation, $callback, $operator = '>=', $count = 1) { //Method inherited from \Illuminate\Database\Eloquent\Builder return \October\Rain\Database\Builder::whereHas($relation, $callback, $operator, $count); }
/** * Selects inventories of enabled products * * @param \October\Rain\Database\Builder $query * @return \October\Rain\Database\Builder */ public function scopeIsEnabled($query) { return $query->whereHas('product', function ($product) { $product->isEnabled(); }); }
/** * Returns products that have inventories in stock * * @param \October\Rain\Database\Builder $query * @return \October\Rain\Database\Builder */ public function scopeInStock($query) { return $query->whereHas('inventories', function ($inventory) { $inventory->where('quantity', '>', 0); }); }