Ejemplo n.º 1
0
 public function testMetaOperate()
 {
     Schema::dropIfExists('users_meta');
     $mock = ['name' => 'hello', 'email' => '*****@*****.**', 'password' => md5('123456'), 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')];
     $user = $this->operator->reset()->insert($mock);
     // test auto build meta table
     $this->assertFalse(Schema::hasTable('users_meta'), 'expect users_meta not exist, but not');
     $this->operator->meta($user['id'], 'meta.key', $mock);
     $this->assertTrue(Schema::hasTable('users_meta'), 'expect users_meta exist, but not');
     // test find meta
     $value = $this->operator->meta($user['id'], 'meta.key');
     $this->assertEquals($mock, $value);
     // test set multi meta value
     $this->operator->metadata($user['id'], ['age' => 16, 'nick' => 'codelint', 'ext' => ['something...']]);
     $age = $this->operator->meta($user['id'], 'age');
     $this->assertEquals(16, $age);
     $nick = $this->operator->meta($user['id'], 'nick');
     $this->assertEquals('codelint', $nick);
     $metadata = $this->operator->metadata($user['id']);
     $this->assertEquals(['meta.key' => $mock, 'age' => 16, 'nick' => 'codelint', 'ext' => ['something...']], $metadata);
     $this->operator->metadata($user['id'], ['age' => 17, 'nick' => 'ray', 'sex' => '***']);
     $metadata = $this->operator->metadata($user['id']);
     $this->assertEquals(['meta.key' => $mock, 'age' => 17, 'nick' => 'ray', 'sex' => '***', 'ext' => ['something...']], $metadata);
 }
Ejemplo n.º 2
0
 public function updateBy($obj, $cri)
 {
     $orig = $obj;
     if (isset($obj['value'])) {
         $obj['value'] = json_encode($obj['value']);
     }
     parent::updateBy($obj, $cri);
     return $orig;
 }