public function available_for_purchase(Model_Purchase $purchase) { return $this->join('purchases', 'LEFT')->where_open()->where('allow_multiple', '=', TRUE)->or_where('purchase.id', '=', NULL)->or_where('purchase.id', '=', $purchase->id())->where_close(); }