首页 文章

如何通过laravel中的类别显示帖子

提问于
浏览
0

这是我的第一个laravel应用程序,也是我的第一个基于数据库的应用程序,所以请耐心等待我!我会尽量具体!!

类别表:Id名称时间戳

帖子表:Id title body slug Category_id时间戳

可以说我有4个catergories . 笔记本电脑,电脑,手机,平板电脑

我希望当我去/计算机能够获得特定于该类别的所有帖子时 .

Posts Model

Category Model

Category Controller:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Post;
use App\Category;

class CatController extends Controller
{
   public function getCategory($Category_id)
{
   $posts = Post::where('Category_id',$Category_id);
  return view('blog.index',['posts' => $posts]);
}

Route:

Route::get('computer/{Category_id}','CatController@getCategory');

我此刻真的很困惑!!提前谢谢大家!!

2 回答

  • 0

    定义您的模型

    class Category extends Model
    {
        /**
         * Get the posts.
         */
        public function posts()
        {
            return $this->hasMany('App\Post', 'Category_id');
        }
    }
    
    class Post extends Model
    {
        /**
         * Get the category.
         */
        public function category()
        {
            return $this->belongsTo('App\Category', 'Category_id');
        }
    }
    

    定义您的控制器

    class CatController extends Controller
    {
        public function getCategory($Category_id)
        {
            $category = Category::find($Category_id);
            if($category !== null){
                $posts = $category->posts;
                return view('blog.index',['posts' => $posts]);
            }
        }
    
  • 0

    我希望这能帮到您 .

    路线:

    Route::get('categories/{category_id}/computers','CatController@show');
    

    控制器:

    public function show($category_id)
    {
       $category = Category::findOrFail($category_id);
    
        if($category){
           $posts = Post::where('Category_id',$category_id)->get();
    
            return view('category.index', compact('posts'));
        }
    
        return view('errors.404');
    }
    

相关问题