这是我的第一个laravel应用程序,以及我的第一个基于数据库的应用程序,所以请耐心等待我! 我会尽量具体!!
分类表: ID 名称 时间戳
帖子表: ID 标题 身体 金属块 CATEGORY_ID 时间戳
假设我有4个catergories。 笔记本电脑,电脑,手机,平板电脑
我希望当我去/计算机能够获得所有特定于该类别的帖子时。
类别控制器:
<?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::get('computer/{Category_id}','CatController@getCategory');
此刻我真的很困惑!! 提前谢谢大家!!
答案 0 :(得分:1)
定义模型
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]);
}
}
答案 1 :(得分: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');
}
答案 2 :(得分:0)
只需将其添加到您的控制器
public function category($id){
$data['posts'] = Post::where('status', 1)->where('category_id', $id)->orderBy('id', 'DESC')->get();
return view('frontEnd.home', $data);
}