【问题标题】:How to call Laravel Accessor如何调用 Laravel 访问器
【发布时间】:2014-04-29 05:08:48
【问题描述】:

在产品模型中

public function getPaginatedAttribute()
{
    $posts = $this->posts;

    return \Paginator::make($posts, $posts->count(), 10);
}

在控制器中调用时

$product = Product::with('categories')->paginated();

总是出错

Call to undefined method Illuminate\Database\Query\Builder::paginated(); 

【问题讨论】:

    标签: laravel-4 accessor


    【解决方案1】:

    我认为您在这里不需要访问器。

    您可以在模型中创建一个函数,然后从控制器调用它。

    产品型号:

    public static function paginated()
    {
        $posts = self::with('categories')->get();
    
        return \Paginator::make($posts, $posts->count(), 10);
    }
    

    控制器:

    $product = Product::paginated();
    

    Accessor 用于转换模型的属性: http://laravel.com/docs/eloquent#accessors-and-mutators

    我不确定这是你想要的。

    【讨论】:

      【解决方案2】:

      在这种情况下,您会收到该错误,因为您尝试从构建器调用访问器。

      $product = Product::with('categories')->get()->paginated();
      

      【讨论】:

        猜你喜欢
        • 2015-03-16
        • 1970-01-01
        • 1970-01-01
        • 2018-08-31
        • 2018-04-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-10
        相关资源
        最近更新 更多