Exemple #1
0
 public function testNotEqualToCreatesOperatorPredicate()
 {
     $predicate = new Predicate();
     $predicate->notEqualTo('foo.bar', 'bar');
     $parts = $predicate->getExpressionData();
     $this->assertEquals(1, count($parts));
     $this->assertContains('%s != %s', $parts[0]);
     $this->assertContains(array('foo.bar', 'bar'), $parts[0]);
 }
Exemple #2
0
 /**
  * @param int $reservationId
  *
  * @return \Traversable|array
  */
 public function getFirstAccTaxCharge($reservationId)
 {
     $this->resultSetPrototype->setArrayObjectPrototype(new \DDD\Domain\Booking\ForCancelCharge());
     $result = $this->fetchAll(function (Select $select) use($reservationId) {
         $select->join(['addons' => DbTables::TBL_BOOKING_ADDONS], $this->getTable() . '.addons_type = addons.id', ['addon' => 'name', 'location_tax' => 'location_join', 'cxl_apply' => 'cxl_apply'], Select::JOIN_LEFT);
         $select->where->equalTo($this->getTable() . '.reservation_id', $reservationId);
         $select->where->equalTo($this->table . '.status', ChargeService::CHARGE_STATUS_NORMAL);
         $accOrTaxWhere = new Predicate();
         $accOrTaxWhere->in($this->table . '.addons_type', [BookingAddon::ADDON_TYPE_ACC, BookingAddon::ADDON_TYPE_PARKING, BookingAddon::ADDON_TYPE_CLEANING_FEE, BookingAddon::ADDON_TYPE_DISCOUNT, BookingAddon::ADDON_TYPE_COMPENSATION, BookingAddon::ADDON_TYPE_EXTRA_PERSON]);
         // acc or parking
         $accOrTaxWhere->OR;
         $accOrTaxWhere->notEqualTo('addons.location_join', '');
         // taxes
         $select->where->addPredicate($accOrTaxWhere);
         $select->order('id ASC');
     });
     return $result;
 }