我刚刚发现我可以遍历从Model :: where()返回的$ collections对象,即使它不是数组。做一些谷歌搜索显示循环通过一个对象遍历所有对象的参数,这不是集合对象发生的事情。他们究竟如何在Laravel做到这一点?这个黑魔法是什么?
我想也许更普遍的是,如何设置一个在foreach()内部兼容的对象?
答案 0 :(得分:2)
如果您的对象实现特定的接口或扩展特定的类,PHP知道如何迭代它: http://www.php.net//manual/en/language.oop5.iterations.php
答案 1 :(得分:1)
这里当然没有任何魔法,你可以在课堂上自己动手。你唯一需要做的就是实现IteratorAggregate接口,从那时起你的类可以在foreach循环中使用。