предположим, что у меня есть сущность:
class UserEntity
{
/**
* @var integer
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string
* @ORM\Column(type="string")
*/
private $name;
/**
* @var string
* @ORM\Column(type="string")
*/
private $email;
// and contruct, getters and setters..
}
и в соответствующей службе:
class UserService extends BaseService
{
public function update($id, $data)
{
try {
$user= $this->fetch($id);
if (! $user instanceof UserEntity) {
// throw respective exception;
}
$user->setName($data['name']);
$user->setEmail($data['email']);
$this->entityManager->flush($user);
return $user;
} catch (Exception $e) {
throw $e;
}
}
}
, если существует такой пользователь, что:
{
id: 1,
name: jhon,
email: jhon@domain.com
}
и данные, предоставляемые службе:
$id = 1;
$data = [
'name' => jhon,
'email => jhon@domain,com
]
тогда, каков наилучший способ избежать ненужного запроса к базе данных в этих случаях? поскольку нет необходимости вызывать метод flu sh. или Doctrine внутренне отвечает за не выполнение запроса?