通过除id之外的其他字段检索数据有很多关系

时间:2017-04-16 20:57:52

标签: php database laravel

模型之间有很多关系:laravel应用程序中的post和category。我把这些关系定义为:

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

public function posts() {
        return $this->hasMany('artSite\post');
}

现在我正在尝试检索属于http请求中派生的特定类别的帖子:

Route::get('posts/categories/{categoryName}','postsViewController@showPostGivenCategory')

下面我展示了我的控制器功能(它确实工作正常!):

 public function showPostGivenCategory($categoryName) {

     $category = category::where('category_name','=',$categoryName)-first();
     $posts = category::find($category->id)->posts;
     return view('pages.homePage')->with('categories',$categories)with('posts',$posts);

 }   

在这个解决方案中,我创建了2个查询。是否有任何可能的方法来创建1个查询以检索具有多个关系的特定类别的帖子?

这样的东西不起作用:

$posts = category::where('category_name','=',$categoryName)->posts;

有人可以帮我解决这个问题吗?我会非常感激,问候。

1 个答案:

答案 0 :(得分:0)

我们可以摆脱第二行:

#pragma omp parallel for private(i,j,p1,p2,m,n)
for (k = 0; k <= m + n; k++) {
    int mini = (k <= n) ? 0 : k - n;
    int maxi = (k <= m) ? k : m;

    for ( i = mini; i <= maxi ; i ++) {
        j = k - i;

        pr[ k ].re += p1[ i ].re* p2[ j ].re;
        // ...

所以你可以说:

 $posts = Category::find($category->id)->posts;