16. Sortable Sonata Type Model in Admin »
Lock protection will prevent data corruption when multiple users edit an object at the same time.
In this case, a message will tell Bob that someone else has edited the object, and that he must reload the page and apply the changes again.
By default, lock protection is disabled.
You can enable it in your sonata_admin
configuration:
# config/packages/sonata_admin.yaml
sonata_admin:
options:
lock_protection: true
You must also configure each entity that you want to support by adding a
field called $version
on which the Doctrine Version
feature is activated.
Using Annotations:
// src/Entity/Car.php
namespace App\Entity\Car;
use Doctrine\ORM\Mapping as ORM;
class Car
{
// ...
/**
* @ORM\Column(type="integer")
* @ORM\Version
*/
protected $version;
// ...
}
Using XML:
<?xml version="1.0" encoding="UTF-8"?>
<!-- src/Resources/orm/Car.orm.xml -->
<doctrine-mapping>
<entity name="App\Entity\Car">
<!-- ... -->
<field name="version" type="integer" version="true"/>
<!-- ... -->
</entity>
</doctrine-mapping>
For more information about this visit the Doctrine docs
Note
If the object model manager does not support object locking,
the lock protection will not be triggered for the object.
Currently, only the SonataDoctrineORMAdminBundle
supports it.
Found a typo? Something is wrong in this documentation? Just fork and edit it!