[Symfony / Doctrine] tester si un enregistrement existe dans une table (sans passer par un find)

une fonction très pratique qui évite de faire un find inutile et qui reste très générique, elle trouve facilement sa place dans tout projet doctrine.

function recordExists($table, $id)
  {      
    // We're passing a single ID or an array of IDs
    // Parameters construction
    $params = is_array($id) ? array_values($id) : array($id);
    //query
    $q = Doctrine::getTable($table)->createQuery('dctrn_find')
        ->where('dctrn_find.' . implode(' = ? AND dctrn_find.', (array) Doctrine::getTable($table)->getIdentifier()) . ' = ?');

    return $q->count($params) > 0;
  }

Tags:

categorie: