繁体   English   中英

将具有特定类别的帖子发送到 Laravel 中的视图

[英]Sending posts with a specific category to the view in Laravel

我正在 Laravel 框架中创建一个博客。 我想将帖子发送到具有特定类别的前端视图。 当我有一个单独的类别表连接到帖子表时,我该怎么做? 例如,我的帖子表有一个 category_id 连接到类别表。

岗位型号:

public function category(){

    return $this->belongsTo('App\Category');
}

类别型号:

public function posts(){

    return $this->hasMany('App\Post');
}

现在,我如何将帖子发送到视图,但只能发送具有特定类别的帖子,例如“存档”?

我知道它应该是这样的:

public function index()
{

    $rows = Post::notdeleted()->get();

    return view('admin.posts.index', compact('rows'));
}

但我不知道如何获取类别,因为它是帖子表中的 category_id 1 和类别表中的“存档”。

我认为您想按类别名称过滤帖子。

public function index(){
  // For example Archive
  $categoryName= request()->get('category_name');
  $posts = Post::whereHas('category',function($query) use ($categoryName){
     $query->where('name','like',"%{$categoryName}%");
  }); 
  return view('admin.posts.index', compact('posts'));
}

你可以这样做:

public function index()
    {
        $rows = Post::whereHas('category',function($q){
            $q->where('category_name','archive');
        })->get();
        return view('admin.posts.index', compact('rows'));
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM