У меня есть поля ' questions_count ' и ' case_study_count ', полученные в результате отношения withCount . Теперь я хотел бы суммировать эти значения в операторе выбора.
postCount = questions_count + case_study_count
Это мой код
public function getTopTags() {
return $this->tag
->select('id','title')
->withCount(['questions' => function($qry) {
if(\Auth::user()->role->role_code == config('constants.ROLES.USER.STUDENT')) {
$qry->whereIn('category_id', config('constants.STUDENT_VIEW_CATEGORIES'));
} else {
$qry->whereNotIn('category_id', config('constants.STUDENT_ADD_CATEGORIES'));
}
$qry->where('is_active', 'Y');
}])
->withCount(['case_study' => function($qry) {
if(\Auth::user()->role->role_code == config('constants.ROLES.USER.STUDENT')) {
$qry->whereIn('category_id', config('constants.STUDENT_VIEW_CATEGORIES'));
} else {
$qry->whereNotIn('category_id', config('constants.STUDENT_ADD_CATEGORIES'));
}
$qry->where('is_active', 'Y');
}])
// ->select('(questions_count + case_study_count) as postCount')
//->selectRaw('questions_count + case_study_count')
->orderByRaw('(questions_count + case_study_count) desc')
->where('is_active', 'Y')
->get();
}
Итак, после вызова этой функции она должна вернуть
- id
- title
- postCount