How To Convert LEFT JOIN SQL Statement into CakePHP coding

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?

  1. For MembersTable: $this->hasMany('Batches')->setForeignKey('member_id');

  2. For AppearancesController::index()

     $visits = $this->Paginator->paginate($this->Visits->find('all', [
             'order' => ['Visits.created' => 'DESC'],
             'contain' => ['Members', 'Members.Batches']
           ]));
    
  3. 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…