Undefined property: Cake\ORM\ResultSet

Par ikb, il y a 10 ans


Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

j'ai le model certfications has many sucbscriptions et subscrbrubtions has many certification je veux afficher une liste de subscrbtions chacune avec les nom de certfications associés .
voici mon code

public function liste() { $subscriptions = $this->Subscriptions->find()->contain(['Certifications'])->all(); $this->set(compact('subscriptions')); $this->set('_serialize', ['subscriptions']); } <?php foreach ($subscriptions as $subscription): ?> <tr> <td><?= h($subscription->name) ?></td> <td><?= h($subscription->currency) ?></td> <td><?php foreach ($subscriptions->certifications as $cert): echo $cert->name;?><?php endforeach; ?>//cette ligne qui fait l'erreur </td> <td class="actions"> <?= $this->Html->link( '<i class=" fa fa-eye"></i>', ['action' => 'view',$subscription->id], ['escape' =>false] )?> <?= $this->Html->link( '<i class="fa fa-pencil"></i>', ['action' => 'edit', $subscription->id ], ['escape' => false] )?> <?= $this->Form->postLink( '<i class="del fa fa-trash-o"></i>', ['action' => 'delete',$subscription->id], [ 'escape' => false, 'confirm' => __('Vous voulez vraiment supprimé cet abonnement # {0}?',$subscription->id) ] )?> </td> </tr> <?php endforeach; ?>

Ce que j'obtiens

j'obtient une liste mais la colonne certification contient cet erreur Undefined property: Cake\ORM\ResultSet::$certfications et Invalid argument supplied for foreach()

1 réponse

Lartak, il y a 10 ans

Bonjour.
Tu devrais remplacer :

foreach ($subscriptions->certifications as $cert):

Par :

foreach ($subscription->certifications as $cert):