Отображать данные из одной или нескольких категорий на Laravel CMS - PullRequest
0 голосов
/ 02 ноября 2019

Я пытаюсь отобразить данные на стороне страницы блога, но вместо этого, чтобы получить все сообщения во всех категориях, я хотел бы иметь для каждой отдельной страницы нужную категорию.

Например: новости/ entertainment - будет сообщение из категории развлечений и т. д. ...

Это код для извлечения всех данных:

   @php
  // use App\post_category;
  use Carbon\carbon;
  if (!isset($posts)) {
    $posts= App\post::latest()->paginate(6);

  }
   @endphp

попытался заменить последнее на мою категорию или сделать сообщение:: post_category: развлечения, но не работают.

post.php

namespace App;

use Illuminate\Database\Eloquent\Model;

class post extends Model
{
public function post_category(){
return $this->belongsTo(post_category::class);
}
public function cms_user(){
return $this->belongsTo(cms_user::class);
}
// public function post_categories(){
//  return $this->hasMany('App\post_category');
  // }
  }

post_category.php

  namespace App;

   use Illuminate\Database\Eloquent\Model;

    class post_category extends Model
   {
   // public function posts(){
   //  return $this->hasMany("App\post");
   // }
   // public function post(){
   //  return $this->belongsTo(post::class);
  // }
  }

postcontroller.php

namespace App\Http\Controllers;
use App\post;
use App\post_category;
use Illuminate\Http\Request;

class PostController extends Controller
{
public function single($title){
$post=post::where("title",str_replace("-"," ",$title))->first();
if ($post!=null) {
return view('noutati-detaliu',compact("post"));
}else{
    echo '<h1>ERROR 404, Not Found!</>';
}
}

public function category($category){
$category=str_replace("-", " ",$category);
    $cat_id=post_category::where("name","$category")->pluck("id")->first();
if ($cat_id==NULL) {
    echo "<h1> Invalied Category </h1>";
}
           $posts=post::where("post_category_id",$cat_id)->latest()->paginate(6);
if ($posts!=null) {
    return view("noutati",compact('posts'));
  }else{
    echo "<h1>ERROR 404, not found! </h1>";
}
}
}

postcategorycontroler.php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PostCategoryController extends Controller
{
//
}

web.php

Route::get('/noutati-category={category}',"PostController@category");
// Route::get('/noutati/{title}',function($title){
//  return view('noutati-detaliu');
// });
Route::get('/noutati-detaliu={title}',"PostController@single");

Пожалуйста, совет!

Спасибо!

...