PHP编码疑惑

时间:2015-03-27 10:18:16

标签: php oop laravel

我在laravel中的一个控制器文件中有一个代码,下面的代码在Teamcontroller.php文件中:

$faqs = Faq::portal()->get()->toJson();
$glossaries = Glossary::portal()->get()->toJson();

同样,我们有faq和g​​lossary控制器。

我无法理解上述代码究竟是什么意思。我试图在Faq模型和Faq控制器以及词汇表模型和控制器中找到函数,但我找不到任何函数门户。

有人可以向我解释上述代码的含义以及我在哪里可以获得门户网站的参考资料吗?

1 个答案:

答案 0 :(得分:0)

Laravel在laravel文档中做了很多魔术,在你的情况下似乎是查询范围

  

使用范围可以轻松地在模型中重复使用查询逻辑。要定义范围,只需在模型方法前加上范围

这是他们的榜样:

class User extends Eloquent {

    public function scopePopular($query)
    {
        return $query->where('votes', '>', 100);
    }

    public function scopeWomen($query)
    {
        return $query->whereGender('W');
    }

}

,如下所示:

$users = User::popular()->women()->orderBy('created_at')->get();

因此,在您的情况下,您应该在给定的类或父类中使用名为portalScope的方法。

您可以阅读query scopes here