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 ?