Tuesday, February 11, 2014

cakephp 3 ORM find and foreach

I am playing with cakephp 3 to see how ORM is applied.

A very simple example where LessonsTable hasMany ImagesTable. I have created both Table classes so I have (in controller):


$lessons = TableRegistry::get('Lessons');
    $lessonsRows    = $lessons->find('all')->contain(['Images']);

then in the view:
foreach ($lessonsRows as $row) {
      echo $row->name."<br>";
     
      foreach($row->images as $image){
        echo "-->".$image->name. "<br>";
      }
    }

IIf a lessons doesn't have any image associated I get
Invalid argument supplied for foreach()

Do I have to check something before foreach?

--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP
 
---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/groups/opt_out.

No comments: