问题描述
遇到 Laravel 8 路由和控制器问题
我对 laravel8 有点陌生并掌握了它,我正在构建一个新闻门户作为一个项目并同时学习。
在主索引页面上,我喜欢显示一些数据,例如帖子和类别等,其中数据来自数据库中的不同表,来自相同的控制器,但对相同路由的方法不同。 所以我有点卡在这里,我遇到的问题是它不起作用 这是我的代码
这里是路线
// main Index Page
Route::get('/','App\Http\Controllers\Home_pageController@categories);
// Index Latest Posts
Route::get('/','App\Http\Controllers\Home_pageController@homePageLatestPosts');
// display latest limit by 10 the posts on home page
public function homePageLatestPosts(){
// $all_posts = Blogs::all();
$latest_posts = DB::table('blogs')->join('users','users.id','=','blogs.added_by')->select('users.*','blogs.*')->orderBy('blogs.created_at','desc')->paginate(5);
// dd($latest_posts);
return view('welcome',['latest_posts'=>$latest_posts]);
}
// Show Categories
public function categories(){
$categories = DB::table('categories')->orderBy('category_name','desc')->get();
// dd($categories);
return view('welcome',['cats'=>$categories]);
}
我想知道问题是什么,是否有解决方案,以及我采取的方法是否正确
提前致谢
解决方法
感谢您的回复。
我通过一种方法从数据库中获取数据并将它们传递给视图以进行显示。
use App\Models\Blog;
use App\Models\User;
use App\Models\Categories;
public function welcome(){
// Latest Posts
$latest_posts = DB::table('blogs')->join('users','users.id','=','blogs.added_by')->select('users.*','blogs.*')->orderBy('blogs.created_at','desc')->paginate(10);
// Home Page Categories
$categories = DB::table('categories')->orderBy('category_name','desc')->get();
// Return
return view('welcome',[ 'categories'=>$categories,'latest_posts'=>$latest_posts]);
}