Skip to main content

Black Friday 2025! Only until December 1st: coupon FRIDAY25 for 40% off Yearly/Lifetime membership!

Read more here

laravelio/laravel.io

2497 stars
2 code files
View laravelio/laravel.io on GitHub

app/Models/Thread.php

Open in GitHub
// In any Model, create methods scopeXxxxxx()
// Then, you will be able to use them in Controller just like ->xxxxxx()
 
final class Thread extends Model implements ReplyAble, SubscriptionAble, Feedable
{
// ... other Model methods
 
public function scopeResolved(Builder $query): Builder
{
return $query->whereNotNull('solution_reply_id');
}
 
public function scopeActive(Builder $query): Builder
{
return $query->has('repliesRelation');
}
}

app/Http/Controllers/Forum/ThreadsController.php

Open in GitHub
// We use ->resolved() and ->active() from that Scope
 
class ThreadsController extends Controller
{
public function overview()
{
// ... other method code
 
if ($filter === 'resolved') {
$threads = Thread::feedQuery()
->resolved()
->paginate(20);
}
 
if ($filter === 'active') {
$threads = Thread::feedQuery()
->active()
->paginate(20);
}
}
}

We'd Love Your Feedback

Tell us what you like or what we can improve

Feel free to share anything you like or dislike about this page or the platform in general.