Ceci est encore une question de compréhension, toute explication est appréciée:comment obtenir plusieurs lignes de mon modèle
I avant avait la question de montrer une table foreignkey à mon avis, qui fonctionne maintenant, il ressemble suit :
C'est tout à fait ce que je voulais, mais: je ne reçois la première ligne, mais il y a bien sûr plusieurs dans la deuxième collection (il est la ligne avec le nom de fichier).
Il est à cause de ma méthode dans mon modèle, qui ressemble suit:
public function getImportU($unitid)
{
$unitid = (int) $unitid;
$rowset = $this->tableGateway->select(['UnitID' => $unitid]);
$row = $rowset->current();
if (! $row) {
return null;
}
else{
return $row;
}
}
Bien sûr, j'ai un objet de ligne et il retourne la ligne en cours. Donc, je pensais, ok je vais essayer avec un ensemble de lignes, après qu'il ressemblait à ceci:
public function getImportU($unitid)
{
$unitid = (int) $unitid;
$rowset = $this->tableGateway->select(['UnitID' => $unitid]);
//$row = $rowset->current();
if (! $rowset) {
return null;
}
else{
return $rowset;
}
}
J'ai eu quelques erreurs qui ont dit:
Remarque: Undefined property: Zend \ Db \ ResultSet \ ResultSet :: Importdate $ en Blockquote
Alors, comment obtenir un recordcollection, tous les dossiers, il y a dans le tableau avec le même unitid? Et comment les appeler dans la vue. Ce n'est probablement pas une grosse affaire, mais je n'ai rien trouvé d'utilisable dans la documentation. EDIT1: Ajout de code associé.
Ici, je passe le ViewModel
dans mon contrôleur indexAction:
return new ViewModel([
'projects' => $this->projectTable->fetchAll(),
'dcls' => $this->table,
//'id' =>$this->authService,
]);
Et voici un extrait de mon index.phtml:
foreach ($projects as $project) :
//var_dump(get_object_vars($project));
?>
<tr>
<td><?= $project['Projectname']?></td>
<td><?= $project['ProjectShortcut']?></td>
<td><?= $project['ProjectCiNumber']?></td>
<td><?= $project['Unitname']?></td>
<td><?= $project['UnitShortcut']?></td>
<td><?= $project['UnitCiNumber']?></td>
<td><?= $project['UnitID']?></td>
</tr>
<?php
$dclsx=$dcls->getImportU($project['UnitID']);
// var_dump($dclss);
if (empty ($dclsx)==false){ ?>
<tr>
<th></th>
<th>filename</th>
<th>importdate</th>
<th>importuser</th>
<th>importok</th>
</tr>
<?php
$dclss=array($dclsx);
// var_dump($dclss);
foreach ($dclss as $dcl) :
?>
<tr>
<td> </td>
<td><?= $dcl->filename?></td>
<td><?= $dcl->Importdate?></td>
<td><?= $dcl->Importuser?></td>
</tr>
?php
endforeach;
}
endforeach; ?>
S'il vous plaît ajouter le code où « getImportU() » est utilisé. –
J'ai ajouté le code correspondant –