The only problem with (2b) is that if ALL users are removed and none added then getDeleteDiff() is empty which appears to be a Doctrine bug/idiosyncrasy
...
->select('c.id, c.title')
...
Это значит, что в post не отправилось значение номера телефона, так?
Удалением через инспектор поля с телефоном?
$pdo->query('select * from table where id = 1 and filename is not null')
if ($var1 = $pdo->query('select * from table where id = 1')) {
$result['var1'] = $var1;
}