Je n'ai pas vraiment d'explications, mais ça marche alors que j'avais déjà
essayé cette méthode :

public function getPresent($day){
  $q = $this->createQuery('p')
      ->where("p.id NOT IN (SELECT a.user_id FROM Absence a WHERE ? BETWEEN
date_format(a.startdate,'%Y-%m-%d') AND date_format(a.enddate,'%Y-%m-%d'))",
$day);

  return $q->execute();
}

Cyril FLIELLER



Le 20 juin 2011 16:48, Cyril FLIELLER <cyril.fliel...@gmail.com> a écrit :

> il faut évidemment remplacer person_id par user_id, erreur de copié collé.
>
> Cyril FLIELLER
>
>
>
> Le 20 juin 2011 16:39, Cyril FLIELLER <cyril.fliel...@gmail.com> a écrit :
>
> J'ai un problème avec cette requête qui fonctionne sous phpmyadmin :
>>
>> SELECT *
>> FROM User
>> WHERE id NOT IN(
>>   SELECT user_id
>>   FROM Absence
>>   WHERE *maDate *BETWEEN startdate AND enddate
>> )
>>
>> avec doctrine dans la class User.class.php :
>>
>> public function getPresent($day){
>>   $q = $this->createQuery('p')
>>       ->where('p.id NOT IN (SELECT person_id FROM Absence WHERE ? BETWEEN
>> startdate AND enddate)', $day);
>>
>>   return $q->execute();
>> }
>>
>> J'ai le droit à une erreur 500 et error_log m'indique :
>> *[error] [client ::1] SQLSTATE[42S22]: Column not found: 1054 Unknown
>> column 'c.user_id' in 'field list'*
>>
>>
>> Cyril FLIELLER
>>
>>
>

-- 
Vous recevez ce message, car vous êtes abonné au groupe Google 
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail 
à symfony-fr@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
symfony-fr+unsubscr...@googlegroups.com.
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/symfony-fr?hl=fr

Répondre à