Level 4
Let's say you want two scenarios:
- Return 5 rows
- Return 10 rows based on certain conditions.
$data = Engagement::leftJoin('user_engagement', 'engagements.id', '=', 'user_engagement.engagement_id')
->select('engagement_id', 'engagements.question', 'engagements.id')
->selectRaw('count(*) as count')
->whereBetween('user_engagement.created_at', [$from.' 00:00:00', $to.' 00:00:00'])
->groupBy('user_engagement.engagement_id')
->orderBy('count', 'DESC');
if (condition) {
$data->take(5);
}
else if(condition) {
$data->take(10);
}
return $data->get()->toArray();