Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
290 views
in Technique[技术] by (71.8m points)

php - 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);
    }
}
question from:https://stackoverflow.com/questions/65856028/redirect-if-there-are-no-posts-in-the-category-laravel

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...