问题:为什么旧方法返回正确的值,请参阅结果旧方法,新的HOM方法返回整个集合?
角色模型
var iframe = $("#Iframe")[0].contentWindow.document;
iframe.open();
iframe.write(data);
iframe.close();
控制器
class Role extends Model {
public function getName() {
return $this->name;
}
}
如果我使用更高阶的消息传递实现新方法,它会返回整个Collection,如果我使用旧方法,我会得到正确的结果。
结果旧方法
string(11)“Application”
string(6)“System”
string(7)“Network”
string(7)“经理”
结果新方法
$roles = Role::all(); // get all roles to test
// old approach
$roles->each(function(Role $i) {
var_dump($i->getName());
});
// new approach (HOM)
var_dump($roles->each->getName());
答案 0 :(得分:3)
each
只是遍历集合,它实际上并没有返回任何内容。如果您希望它为每次迭代返回getName()
的值,那么您可以使用map eg。
dump($roles->map->getName());
希望这有帮助!