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.