首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Laravel的相关表格中获得有限的结果

从Laravel的相关表格中获得有限的结果
EN

Stack Overflow用户
提问于 2013-11-26 18:34:22
回答 1查看 1.1K关注 0票数 1

表格

代码语言:javascript
复制
post            category
-----           ----------
id              id
name            name
category_id

每个职类的员额数量有限(如果职类有员额)

代码语言:javascript
复制
$categories = Category::get();
$categores_with_posts = array();

foreach($categories as $category)
{   
    $category_data = array(
        'posts' => Post::where('category_id', $category['id'])->take(10)->get()->toArray(),
        'category_id' => $category['id'],
        'name' => $category['name']
    );

    if(!empty($category_data['posts'])) {
        $categores_with_posts[] = $category_data;
    }
}

如何使用一个查询在Laravel中完成此操作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-26 18:49:50

这是经过测试的代码,但是您应该能够在这两个模型之间创建一个关系:

代码语言:javascript
复制
class Post extends Eloquent {

    public function category()
    {
        return $this->belongsTo('Category');
    }

}

class Category extends Eloquent {

    public function posts()
    {
        return $this->hasMany('Post');
    }

    public function postsTop10()
    {
        return $this->posts()->take(10);
    }

}

然后用它得到你的结果:

代码语言:javascript
复制
$categories = Category::with('postsTop10')->get();

foreach($categories as $category)
{   
    foreach($category->postsTop10 as $post)
    {
        echo "$post->name";
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20225170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档