使用laravel过滤器基于类常量进行过滤

时间:2016-06-14 03:55:20

标签: php laravel-5

我正在尝试根据类中定义的常量过滤数据集合。 $results是Laravel Collection。当我尝试过滤时,我会收到:

  

致命错误:调用未定义的方法MatchRecord :: constant()

我做错了什么或以其他方式根据MatchRecord类中定义的常量过滤结果?

class MatchRecord
{
   /**
    * Match List
    * @var Collection
    */
    private $results;

    const ERROR = 0;
    const ARENA = 1;
    const CAMPAIGN = 2;
    const CUSTOM = 3;
    const WARZONE = 4;

   /**
    * Get list of matches from results for given mode
    * @param  String $matchType
    * @return Collection
    */
    public function getMatchesByType($matchType)
    {
        // results[Id][GameMode]
        $filteredMatches = $this->results->filter(function ($match) use ($matchType) {
                return $match['Id']['GameMode'] === self::constant(strtoupper($matchType));
        });

        return $filteredMatches;
    }
}

https://gyazo.com/b72ae052d795a1009a2c97141d629ec0

1 个答案:

答案 0 :(得分:0)

我发布工作后接下来要做的事情。 FML。应该刚刚给它额外的五分钟尝试。

<time datetime="2016-06-13"></time>

我调用constant()的方式不正确。