代码之家  ›  专栏  ›  技术社区  ›  Pavol Martis

具有自定义属性的laravel集合方法

  •  1
  • Pavol Martis  · 技术社区  · 7 年前

    有没有一种方法可以用于像 映射,过滤器 在自定义属性上?

        public function getDoneAttribute(){
            true;
        }    
    
        $uncomplete_todos = $todos->filter(function($key,$value){
            return $value->done;
        });
    

    出现此错误 尝试获取非对象的属性

    1 回复  |  直到 7 年前
        1
  •  0
  •   Alexey Mezenin    7 年前

    你需要 return 访问者提供的信息:

    public function getDoneAttribute(){
        return true;
    }
    

    此外,您正在尝试将键用作对象。改为执行以下操作:

    $uncomplete_todos = $todos->filter(function($value, $key) {
        return $value->done;
    });