Proprio

Par Nicolas Gruwe, il y a 10 ans


Bonjour,

je travaile sur un système de reservation et je suis actuellement en train de chercher a afficher les informations du propriétaire du local concerné par la reservation.

J'ai donc mes variables comme suivant :

reservation->locaux->user_id // id du proprio

Dans mon controller je cherche donc les infos via :

    $proprio = $this->Reservations->Locaux->Users->find('all', array(
                                                'condition' =>array(
                                                                'users.id LIKE' => $reservation->locaux->user_id)
                                                )
                                            );
    $this->set(compact('users', 'reservations', 'proprio'));

Mais ceci me retourne une variable avec tous les utilisateurs ! Et non seul celui concerné, pouvez vous me guider vers mon erreur ?

6 réponses

Nicolas Gruwe, il y a 10 ans

Bonjour,

c'est étrange, quand j'utilise find(first) je me retrouve avec une erreur :

Unknown finder method "first"

:/

lakamark, il y a 10 ans

Bonjour,
Je pense que tu decrais faire find('first') et non all. Car c'est sur que cakephp va te donner tout les résultats et non un résultat. :)

Ferias Quarante, il y a 10 ans

Bonjour,

1 - pour le first, tu rajoutes ->first() après le find() : Users->find('all', ...)->first()
2 - pourquoi mettre [users.id LIKE => ...] dans la condition du find() et pas juste [users.id => ...] ?

Nicolas Gruwe, il y a 10 ans

Bonjour,

1 / En effet il me retourne juste le premier résultat mais pas le bon :/ Il ne prend pas en compte ma condition.

2 / Je ne sais pas c'est ce qui est dans la superbe doc de cake, ca me paraissait étrange aussi de taper sur un "like" alors que je veux une égalité.

Ferias Quarante, il y a 10 ans

Euuh oui mais en fait (on est bêtes sur ce coup), si tu cherches un enregistrement avec son id il faut juste faire un get :

$proprio = $this->Reservations->Locaux->Users->get($reservation->locaux->user_id);
Nicolas Gruwe, il y a 10 ans

Oooooh c'est trop bien ! Merci beaucoup Ferias Quarante j'avais completement zappé l'existence du get() !

Bonnes fêtes à vous !