проверить, существует ли пользователь в домофоне

Я хочу удалить пользователя из моей базы данных и из интеркома одновременно
но я хочу проверить, существует ли этот пользователь во внутренней связи или нет:

public function deleteUserAction(Request $request, $id)
{
$doctrine = $this->getDoctrine();
$em = $doctrine->getManager();
$intercom = IntercomBasicAuthClient::factory(array(
'app_id' => 'xxxxxx',
'api_key' => 'xxxxxxxxxxxx'
));
$user = $doctrine->getRepository('ZaidUserBundle:User')->find($id);

if($user) {
//delete user from intercom
//I want some condition here
$intercom->deleteUser(array("email" => $user->getEmail()));
//delete user from database
$em->remove($user);
$em->flush();
}

return new Response(200);
}

1

Решение

Как описано в док здесь, Вы должны получить пользователя по электронной почте просто как:

// Find user by email
$intercom->getUser(array("email" => "[email protected]"));

Надеюсь это поможет

1

Другие решения

спасибо Маттео
это решение работает для меня

public function deleteUserAction(Request $request, $id)
{
$doctrine = $this->getDoctrine();
$em = $doctrine->getManager();
$intercom = IntercomBasicAuthClient::factory(array(
'app_id' => 'xxxxxx',
'api_key' => 'xxxxxxxxxxxx'
));
$user = $doctrine->getRepository('ZaidUserBundle:User')->find($id);
$existe = 1;
if($user) {
//delete user from intercom
//I want some condition here
try{
$intercom->deleteUser(array("email" => $user->getEmail()));

} catch (\Intercom\Exception\IntercomException $e) {
$existe = 0;
}
//delete user from database
if($existe==1){
$em->remove($user);
$em->flush();
}
}

return new Response(200);
}
0

По вопросам рекламы [email protected]