简体   繁体   中英

Redirect if there are no posts in the category Laravel

I want to redirect users back if they have selected a category that has no posts. I've tried something like this, but it doesn't work:

$check = Category::withCount('posts')->first();
if($cheсk->posts_count < 1){
    return redirect()->back()->with('warning', 'No posts in this category!');
  }

Or:

if(Category::withCount('posts') < 1){
    return redirect()->back()->with('warning', 'No posts in this category!');
  }

Category model:

class Category extends Model
{
    use HasFactory;

    protected $fillable = [
        'name',
        'user_id',
        'code',
        'img'
    ];

    public function posts(){
      return $this->hasMany(Post::class);
    }
}
You can use following code:
$isCategoryHasPosts = Category::where('id','<specify_category_id>')->has('posts')->count();
if(!$isCategoryHasPosts) {
    return redirect()->back()->with('warning', 'No posts in this category!');
}

Note: replace specify_category_id with your actual category Id.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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