SELECT appearances.member_id, members.name, appearances.created, batches.grade_id
FROM appearances
LEFT JOIN members ON members.mbrid = appearances.member_id
LEFT JOIN batches ON members.mbrid = batches.member_id
WHERE batches.no = 1 AND (batch.subno = 0 OR batch.subno = 1)
How do I manage this kind of SQL?
-
For MembersTable:
$this->hasMany('Batches')->setForeignKey('member_id');
-
For AppearancesController::index()
$visits = $this->Paginator->paginate($this->Visits->find('all', [ 'order' => ['Visits.created' => 'DESC'], 'contain' => ['Members', 'Members.Batches'] ]));
-
For index.php:
<?= $visit->member->batch->grade_id ?>
But I get this error message: Notice (8): Trying to get property 'grade_id' of non-object
in the display page.
And I still haven’t add a WHERE clause in the code – not sure where to put this…