Ich kann keine meiner Daten aus dem Array in der Ansicht anzeigen. Ich habe keine Ahnung warum, wie ich den Konventionen zu folgen scheinen. Es ist der gleiche Fehler mit jedem Feld. Ich zeige die Daten im Debug unten, so dass es nur ein Array von Tabellenwerten ist. Wie zeige ich das Array von Daten aus dem folgenden Array in einer Ansicht an? Hinweis ich nur nur ein Beispieldaten des ersten Datensatzes gab, da es zu viele Daten in dem Array istIch kann meine Daten nicht in einem Forloop in einer CakePHP3-Ansicht anzeigen
Notice (8): Trying to get property of non-object
<?php
foreach ($query3 as $bookmark):
?>
<tr>
<?php
debug($bookmark);
?>
<td><?= h($bookmark->lessons->id) ?></td>
<td><?= h($bookmark->lessons->lesson_date) ?></td>
<td><?= h($bookmark->tutors->first_name) ?></td>
<td><?= h($bookmark->tutors->last_name) ?></td>
</tr>
<?php endforeach; ?>
object(App\Model\Entity\Lesson) {
'tutoring_type_id' => (int) 1,
'students' => [
'id' => '249',
'first_name' => 'Jams',
'last_name' => 'Phil'
],
'tutoring_type' => object(App\Model\Entity\TutoringType) {
'value' => 'Individual Tuition',
'[new]' => false,
'[accessible]' => [
'*' => true
],
'[dirty]' => [],
'[original]' => [],
'[virtual]' => [],
'[errors]' => [],
'[invalid]' => [],
'[repository]' => 'TutoringTypes'
},
'lessons' => [
'id' => '12419',
'lesson_date' => '2016-05-31'
],
'tutors' => [
'id' => '12',
'first_name' => 'drew',
'last_name' => 'Toy'
],
'subjects' => [
'id' => '16',
'name' => 'Maths: Year 7 - 10'
],
'terms' => [
'id' => '12',
'title' => 'Term Four - 2015'
],
UPDATE
$query3 = $this->Lessons->find()
->contain(['Tutors','Subjects', 'TutoringTypes','Terms','Students'])
->select(['lessons.id','lessons.lesson_date','tutors.id','tutors.first_name','tutors.last_name','TutoringTypes.value',
'subjects.id','subjects.name'])
->where(['Lessons.lesson_date >' => $a3
]);
$this->set(compact('query3'));
$this->set('_serialize', ['query3']);
'' und Studentische lessons' scheinen Arrays und nicht Objekte. Also sollten Sie '$ bookmark-> lessons ['id']' machen. Ich weiß nicht, warum Sie Arrays anstelle von Objekten haben, Sie sollten Ihren 'find()' Code zeigen – arilia
Ich habe bereits unten beantwortet und es funktioniert. Ich konnte diese Information in den Dokumenten nicht finden und ich gab das Datenfeld. Ich habe eben auch den Fund() gegeben, wenn es hilft (siehe unten) .. Was meinst du damit ich Objekte hätte verwenden sollen? Ich kann diese Informationen nicht in den Dokumenten finden, können Sie mir bitte zeigen – ajt
Ich überprüfte die Dokumente auf Sammlungen. Ich wollte nur die Ergebnisse in einer Ansicht anzeigen, also habe ich ein Array verwendet. Wenn ich weitere Methoden für die Abfrage verwenden möchte, würde ich das Abfrageobjekt und kein Array benötigen, – ajt