Bonjour,
Voila je rencontre un petit problème avec mon code.
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; ?>
j'obtient une liste mais la colonne certification contient cet erreur Undefined property: Cake\ORM\ResultSet::$certfications et Invalid argument supplied for foreach()
Bonjour.
Tu devrais remplacer :
foreach ($subscriptions->certifications as $cert):
Par :
foreach ($subscription->certifications as $cert):