Commit 59b9065c by Carsten Brandt

ES: fixed issue with storing empty records

fixes #3587
parent df65a0f9
...@@ -4,11 +4,12 @@ Yii Framework 2 elasticsearch extension Change Log ...@@ -4,11 +4,12 @@ Yii Framework 2 elasticsearch extension Change Log
2.0.0-rc under development 2.0.0-rc under development
-------------------------- --------------------------
- Bug #3587: Fixed an issue with storing empty records (cebe)
- Enh #3520: Added `unlinkAll()`-method to active record to remove all records of a model relation (NmDimas, samdark, cebe)
- Enh #3527: Added `highlight` property to Query and ActiveRecord. (Borales)
- Chg: asArray in ActiveQuery is now equal to using the normal Query. This means, that the output structure has changed and `with` is supported anymore. (cebe) - Chg: asArray in ActiveQuery is now equal to using the normal Query. This means, that the output structure has changed and `with` is supported anymore. (cebe)
- Chg: Deletion of a record is now also considered successful if the record did not exist. (cebe) - Chg: Deletion of a record is now also considered successful if the record did not exist. (cebe)
- Chg: Requirement changes: Yii now requires elasticsearch version 1.0 or higher (cebe) - Chg: Requirement changes: Yii now requires elasticsearch version 1.0 or higher (cebe)
- Enh #3520: Added `unlinkAll()`-method to active record to remove all records of a model relation (NmDimas, samdark, cebe)
- Enh #3527: Added `highlight` property to Query and ActiveRecord. (Borales)
2.0.0-beta April 13, 2014 2.0.0-beta April 13, 2014
...@@ -27,7 +28,9 @@ Yii Framework 2 elasticsearch extension Change Log ...@@ -27,7 +28,9 @@ Yii Framework 2 elasticsearch extension Change Log
All relational queries are now directly served by `ActiveQuery` allowing to use All relational queries are now directly served by `ActiveQuery` allowing to use
custom scopes in relations (cebe) custom scopes in relations (cebe)
2.0.0-alpha, December 1, 2013 2.0.0-alpha, December 1, 2013
----------------------------- -----------------------------
- Initial release. - Initial release.
...@@ -80,7 +80,11 @@ class Command extends Component ...@@ -80,7 +80,11 @@ class Command extends Component
*/ */
public function insert($index, $type, $data, $id = null, $options = []) public function insert($index, $type, $data, $id = null, $options = [])
{ {
$body = is_array($data) ? Json::encode($data) : $data; if (empty($data)) {
$body = '{}';
} else {
$body = is_array($data) ? Json::encode($data) : $data;
}
if ($id !== null) { if ($id !== null) {
return $this->db->put([$index, $type, $id], $options, $body); return $this->db->put([$index, $type, $id], $options, $body);
......
...@@ -186,6 +186,16 @@ class ActiveRecordTest extends ElasticSearchTestCase ...@@ -186,6 +186,16 @@ class ActiveRecordTest extends ElasticSearchTestCase
$db->createCommand()->flushIndex('yiitest'); $db->createCommand()->flushIndex('yiitest');
} }
public function testSaveNoChanges()
{
// this should not fail with exception
$customer = new Customer();
// insert
$customer->save(false);
// update
$customer->save(false);
}
public function testFindAsArray() public function testFindAsArray()
{ {
// asArray // asArray
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment