- Updated on 02 Dec 2019
- 1 minute to read
In Spryker, an entity represents one entry from a table in the database. Entities are an implementation of the Active record design pattern, so their usage is very simple. For a full documentation, see Propel’s Active Record Reference.
<?php $customer = new SpyCustomer(); $customer->setFirstName('John'); $customer->setLastName('Doe'); $customer->setEmail('[email protected]'); $customer->save();
Saving Entities With Transactions
In general, Propel performs every save operation in a transaction. Sometimes, you want to save things together, for example, when you save customers and order items during the checkout. For this, you can use Propel’s connection.
<?php $connection = Propel::getConnection(); $connection->beginTransaction(); $customerEntity->save(); $customerAddressEntity->save(); $salesOrderEntity->save(); $connection->commit();
Usually entities are used in the module’s business layer to persist data. In contrast to most other classes in Spryker, entities are never injected, because they have state. Another way to retrieve entities is to use a query from the query container.
You might use the following definitions to generate the related code:
vendor/bin/console spryk:run AddZedPersistencePropelAbstractEntity- Add Zed Persistence Propel Abstract Entity
See the Spryk documentation for details.