コード例 #1
0
ファイル: MongoStorage.php プロジェクト: itmox/PayumServer
 /**
  * {@inheritdoc}
  */
 protected function doUpdateModel($model)
 {
     $values = \Makasim\Values\get_values($model);
     if (isset($values['_id'])) {
         $values['_id'] = (string) $values['_id'];
     }
     $values = json_decode(json_encode($values), true);
     if (isset($values['_id'])) {
         $valuesToSave = $values;
         unset($valuesToSave['_id']);
         $this->collection->update(['_id' => new \MongoId($values['_id'])], $valuesToSave);
     } else {
         $this->collection->insert($values);
     }
     if (isset($values['_id'])) {
         $values['_id'] = (string) $values['_id'];
     }
     \Makasim\Values\set_values($model, $values);
 }
コード例 #2
0
ファイル: ValueTraitTest.php プロジェクト: makasim/values
 public function testShouldAllowAddValueToAlreadyArray()
 {
     $values = ['aNamespace' => ['aKey' => ['aVal']]];
     $obj = new ValueTest();
     \Makasim\Values\set_values($obj, $values);
     $obj->addValue('aNamespace', 'aKey', 'aVal');
     $this->assertSame(['aVal', 'aVal'], $obj->getValue('aNamespace', 'aKey'));
     $this->assertSame(['aNamespace' => ['aKey' => ['aVal', 'aVal']]], \Makasim\Values\get_values($obj));
     $this->assertSame(['aNamespace' => ['aKey' => ['aVal', 'aVal']]], \Makasim\Values\get_changed_values($obj));
 }
コード例 #3
0
ファイル: ObjectsTraitTest.php プロジェクト: makasim/values
 public function testShouldAllowAddSelfObjectsAndGetPreviouslySet()
 {
     $subObjFoo = new SubObjectTest();
     $subObjFoo->setValue('aSubName', 'aSubKey', 'aFooVal');
     $subObjBar = new SubObjectTest();
     $subObjBar->setValue('aSubName', 'aSubKey', 'aBarVal');
     $obj = new ObjectTest();
     $obj->addSelfObject('aKey', $subObjFoo);
     $obj->addSelfObject('aKey', $subObjBar);
     $this->assertSame([$subObjFoo, $subObjBar], $obj->getSelfObjects('aKey', SubObjectTest::class));
     $this->assertSame(['self' => ['aKey' => [['aSubName' => ['aSubKey' => 'aFooVal']], ['aSubName' => ['aSubKey' => 'aBarVal']]]]], \Makasim\Values\get_values($obj));
     $this->assertSame(['aSubName' => ['aSubKey' => 'aFooVal']], \Makasim\Values\get_values($subObjFoo));
     $this->assertSame(['aSubName' => ['aSubKey' => 'aBarVal']], \Makasim\Values\get_values($subObjBar));
 }