我想对以下关系进行分页(一个包含许多应用程序的类别):

class Category extends Model
{
    public function apps()
    {
        return $this->hasMany('App\App')->orderBy('current_price', 'asc');
    }
}

问题是,当我在那一行的末尾加上->paginate(10);,我会得到以下错误:

关系方法必须返回类型为的对象

我错过了什么?

推荐答案

你试过这个吗?

$category = Category::first();
$apps = $category->apps()->paginate(10);
return view('example', compact('category', 'apps'));

然后,在你的视图中,你可以循环浏览应用程序.

@foreach ($apps as $app)
    {{ $app->id }}
@endforeach

{!! $apps->render() !!}

如果要将其设置为与类别的关系,可以使用setRelation方法:

$category = Category::first();
$category->setRelation('apps', $category->apps()->paginate(10));
return view('example', compact('category');

那么在你看来:

@foreach ($category->apps as $app)
    {{ $app->id }}
@endforeach

{!! $category->apps->render() !!}

Laravel相关问答推荐

Laravel带S3存储器

Laravel Homestead vagrant up 超时

laravel render() 方法有什么用?

"public/index.php" 可以在 laravel 中按组写入

所有 POST 请求上的 Laravel 4 CSRF

Laravel + Plupload 上传到 S3 响应以进行预检无效 - CORS

Laravel belongsTo 关系 - 试图获取非对象的属性

Laravel,没有shell 访问的转储自动加载

Laravel 5.1 - 如何在进度条上设置消息

如何使用 ajax 请求删除 laravel 5.3 中的记录?

Laravel 5 - 多对多 - Attach versus Save

Laravel 5.4 - 注册后禁用自动登录

如何在 Laravel 5.5 中为选定的请求类设置自定义响应

如何从不是控制器方法的方法发送响应?

如果值存在于另一个字段数组中,Laravel 验证规则

安装后在 Lumen 中找不到页面

Blade 中的条件扩展

laravel如何访问具有表编号名称的列?

Laravel 如何在 Eloquent 模型中添加自定义函数?

Laravel - Union + 分页?