1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2025-12-12 17:24:03 +00:00

Fix #28 associative arrays being converted into objects

This commit is contained in:
Samuel Štancl 2019-02-11 19:34:52 +01:00
parent 0bb18bb11a
commit 7fc89271f3
2 changed files with 12 additions and 3 deletions

View file

@ -231,7 +231,7 @@ class TenantManager
return $this->jsonDecodeArrayValues($this->storage->getMany($uuid, $key)); return $this->jsonDecodeArrayValues($this->storage->getMany($uuid, $key));
} }
return json_decode($this->storage->get($uuid, $key)); return json_decode($this->storage->get($uuid, $key), true);
} }
/** /**
@ -259,7 +259,7 @@ class TenantManager
} }
if (! is_null($value)) { if (! is_null($value)) {
return $target[$key] = json_decode($this->storage->put($uuid, $key, json_encode($value))); return $target[$key] = json_decode($this->storage->put($uuid, $key, json_encode($value)), true);
} }
if (! is_array($key)) { if (! is_array($key)) {
@ -290,7 +290,7 @@ class TenantManager
protected function jsonDecodeArrayValues(array $array) protected function jsonDecodeArrayValues(array $array)
{ {
array_walk($array, function (&$value, $key) { array_walk($array, function (&$value, $key) {
$value = json_decode($value); $value = json_decode($value, true);
}); });
return $array; return $array;

View file

@ -93,6 +93,15 @@ class TenantStorageTest extends TestCase
$this->assertSame([1, 2], tenant()->get('foo')); $this->assertSame([1, 2], tenant()->get('foo'));
} }
/** @test */
public function associative_arrays_can_be_stored()
{
$data = ['a' => 'b', 'c' => 'd'];
tenant()->put('foo', $data);
$this->assertSame($data, tenant()->get('foo'));
}
/** @test */ /** @test */
public function put_returns_the_value_when_two_arguments_are_used() public function put_returns_the_value_when_two_arguments_are_used()
{ {