Bonjour,
j'ai 3 table reservation et bien et personne. chaque reservation a un bien et le personne a plusieurs biens . je veux afficher tout les reservations de ce personne mais il m'affiche seulement la derniere ligne.
Dans le controller
public function index_hote() {
$this->Reservation->recursive = 1;
$this->loadModel("BiensPersonne");
if($this->Session->read('Auth.User.0.Personne.id')){
$options = $this->BiensPersonne->findByPersonneId($this->Session->read('Auth.User.0.Personne.id'));
$this->loadModel("Personne");
$biens=$this->Personne->findById( $options['BiensPersonne']['personne_id']);
foreach ($biens['Bien'] as $bien) {
$reservations=$this->Reservation->find('all',array('conditions'=>array('Reservation.idBien'=> $bien['idBien'])));
$this->paginate('Reservation');
$this->set('reservations', $reservations);
}}} ```
Dans le Model reservation
public $belongsTo = array(
'Personne' => array(
'className' => 'Personne',
'foreignKey' => 'id',
'conditions' => '',
'fields' => '',
'order' => ''),
'Bien' => array(
'className' => 'Bien',
'foreignKey' => 'idBien',
'conditions' => '',
'fields' => '',
'order' => ''
)
);```
Dans Model Bien
public $hasMany = array(
'Reservation' => array(
'className' => 'Reservation',
'foreignKey' => 'idBien',
'conditions' => '',
'fields' => '',
'order' => ''
),
'BiensPersonne'
); ```
Dans view
<?php foreach ($reservations as $reservation): ?>
<tr><td><?php echo h($reservation['Reservation']['dateReserDu']); ?></td>
<td><?php echo h($reservation['Reservation']['dateReserAu']); ?> </td>
<td><?php echo h($reservation['Reservation']['montantAPaye']); ?> </td>
<td><?php echo h($reservation['Reservation']['etatReservation']); ?> </td>
</tr>
<?php endforeach ?> ```
qu'est ce que je dois faire pour avoir les reservations de chaque personne ?
lorsque je fais Debugger::dump($reservations);
array(
(int) 0 => array(
'Reservation' => array(
'idReser' => '1',
'dateReserDu' => '2016-04-23',
'dateReserAu' => '2016-04-27',
'montantAPaye' => '500',
'etatReservation' => 'Reserve',
'iddev' => '0',
'idBien' => '9',
'id' => '24'
),
'Personne' => array(
'login' => '*****',
'id' => '24',
'designation' => 'client',
'nom' => 'mohamed',
'prenom' => 'jmaa',
'dateNaiss' => '1991-07-22',
'adresse' => 'rue paris',
'telFixe' => '26119945',
'telMobile1' => '95632114',
'telMobile2' => '98745213',
'email' => 'wahibaml@gmail.com',
'mdp' => '26111991',
'lienPhotoPersonnel' => 'sou.jpg',
'idVille' => '14'
),
'Device' => array(
'iddev' => null,
'nomdev' => null,
'logodev' => null,
'coefficient' => null
),
'Bien' => array(
'idBien' => '9',
'designBien' => 'Petit coeur a TUNIS ville',
'aPropos' => 'De Host � Milan tres apprecie, avec environ 700 re positifs me trouver en Tunisie quelques jours par mois. Je lai choisi, ici aussi, d'avoir ma maison ou trouver ma souffrance et mes souvenirs. Les couleurs et les objets mediterraneens trouve et rec',
'capaciteAccueil' => '3',
'nbSalleBain' => '1',
'nbChambre' => '2',
'nbLits' => '3',
'description' => 'De Host a Milan beaucoup apprecie, avec environ 700 commentaires positifs � cinq �toiles, meme ici en Tunisie, je tiens � apporter mon exp�rience fantastique.
Comme un architecte italien souvent je voyage pour mon travail et je me trouve en Tunisie quelques jours par mois. Je l'ai choisi, ici aussi, d'avoir ma maison o� trouver ma souffrance et mes souvenirs.
Les couleurs et les objets de la M�diterran�e fond�e et recueillies, un peu de conception, ils le font � moi ',
'adresse' => 'rue ladikiya',
'immeuble' => '',
'affichable' => false,
'affichablePageAccueil' => false,
'idtypelogement' => '1',
'idVille' => '14',
'idPays' => '1',
'idTypeBien' => '2',
'posLat' => '36.8065',
'posLong' => '10.1815'
)
)
)
array(
(int) 0 => array(
'Reservation' => array(
'idReser' => '2',
'dateReserDu' => '2016-04-07',
'dateReserAu' => '2016-04-20',
'montantAPaye' => '500',
'etatReservation' => 'attente',
'iddev' => '0',
'idBien' => '22',
'id' => '24'
),
'Personne' => array(
'login' => '*****',
'id' => '24',
'designation' => 'client',
'nom' => 'mohamed',
'prenom' => 'jmaa',
'dateNaiss' => '1991-07-22',
'adresse' => 'rue paris',
'telFixe' => '26119945',
'telMobile1' => '95632114',
'telMobile2' => '98745213',
'email' => 'wahibaml@gmail.com',
'mdp' => '26111991',
'lienPhotoPersonnel' => 'sou.jpg',
'idVille' => '14'
),
'Device' => array(
'iddev' => null,
'nomdev' => null,
'logodev' => null,
'coefficient' => null
),
'Bien' => array(
'idBien' => '22',
'designBien' => 'appartement',
'aPropos' => 'grand appartement',
'capaciteAccueil' => '2',
'nbSalleBain' => '1',
'nbChambre' => '2',
'nbLits' => '2',
'description' => 'grand appartement',
'adresse' => 'ruen marsa',
'immeuble' => '',
'affichable' => false,
'affichablePageAccueil' => false,
'idtypelogement' => '1',
'idVille' => '1',
'idPays' => '1',
'idTypeBien' => '1',
'posLat' => '0',
'posLong' => '0'
)
)
) ```
Bonjour.
C'est normal que ça ne fonctionne pas, tu définis plusieurs fois la variable $reservations
dans l'action de ton controller.
comment je doit faire pour avoir les reservations d'uh personne à partir de tous les biens