Skip to main content

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

Read more here

pinkary-project/pinkary.com

1505 stars
1 code files
View pinkary-project/pinkary.com on GitHub

app/Queries/Feeds/QuestionsForYouFeed.php

Open in GitHub
use App\Models\Question;
use App\Models\User;
use Illuminate\Database\Eloquent\Builder;
 
final readonly class QuestionsForYouFeed
{
public function __construct(
private User $user,
) {}
 
public function builder(): Builder
{
return Question::query()
->where(function (Builder $query): void {
$query->whereHas('to', function (Builder $toQuery): void {
$toQuery
->whereHas('questionsSent.likes', function (Builder $questionsQuery): void {
$questionsQuery
->where('user_id', $this->user->id)
->where('created_at', '>=', now()->subDays(60));
})
->orWhereHas('questionsReceived.likes', function (Builder $questionsQuery): void {
$questionsQuery
->where('user_id', $this->user->id)
->where('created_at', '>=', now()->subDays(60));
});
})
->orWhereHas('to', function (Builder $toQuery): void {
$toQuery->whereIn('id', $this->user->following()->select('users.id'));
});
})
->orderByDesc('updated_at')
->whereNotNull('answer')
->where('is_reported', false)
->where('is_ignored', false);
}
}

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.