I am fetching all answer given by a user. But I am only in the need of latest answer/response by the user(Using response id). I am running the bellow query.
$users_all_answers=$this->SurveySectionAnswers->find('all')
->where(['survey_response_id IN'=>$response_ids])
->order(['survey_response_id'=>'desc'])
->group(['survey_question_id'])
->hydrate(false)
->toArray();
But I am getting the user answer, not by latest response because of execution on Group by before Order by. So is there any solution so that I can get all the answer by the latest responce of the user.
Getting array like this
[0] => Array
(
[id] => 527
[survey_response_id] => 74
[survey_question_id] => 84
[survey_answer] =>
[survey_score] => 0
[survey_section_id] => 50
[survey_answer_id] => 138
[completed] => 1
)
[1] => Array
(
[id] => 528
[survey_response_id] => 74
[survey_question_id] => 85
[survey_answer] =>
[survey_score] => 0
[survey_section_id] => 48
[survey_answer_id] => 142
[completed] => 1
)
But I want like
[0] => Array
(
[id] => 527
[survey_response_id] => 76
[survey_question_id] => 84
[survey_answer] =>
[survey_score] => 0
[survey_section_id] => 50
[survey_answer_id] => 138
[completed] => 1
)
[1] => Array
(
[id] => 528
[survey_response_id] => 76
[survey_question_id] => 85
[survey_answer] =>
[survey_score] => 0
[survey_section_id] => 48
[survey_answer_id] => 142
[completed] => 1
)