在 Blade 模板中使用 QueryScope

use QueryScope in Blade template

我在模型中定义了这样的范围

class Station extends Model {

    protected $primaryKey = 'st_id';

    public function scopeByDid($query)
    {
        return $query->groupBy("st_did");
    }

}

我可以从控制器调用 byDid 但我无法通过这样的 blade 模板获取它

@foreach ($river->stations->byDid as $didType)
....
@endforeach

我怎么得到它。感谢您的回复。谢谢

如果您将关系作为属性获取(末尾没有 ()),这意味着该关系将在范围之前被检索到。

要让您的代码正常工作,您只需将 foreach 更改为:

@foreach($river->stations()->byDid()->get() as $didType)

希望对您有所帮助!