Como obter dados de notas específicos usando o Laravel Eloquent?

O que eu quero:

Para obter ograde do que o usuário respondeu no banco de dados, se existir, e obtenha a nota dessa resposta.

O que eu tenho:

eu tenho3 mesasshort_answer, sa_sa_answer, short_answer_answer.Agora,short_answer tabela tem pergunta, e cada pergunta tem muitas respostas localizadas noshort_answer_answer tabela e a nota também está incluída, a questão pode ter1 ou mais responda.

Qual código eu tenho:

Controlador

foreach($sa_question_id as $key => $value){
   $sa = ShortAnswer::with('answers')->find($sa_question_id[$key]);
   $possible_answers = [];

   foreach($sa->answers as $possible_answer){
      $possible_answers[] .= strtolower($possible_answer->answer);
   }

   if(in_array(strtolower($sa_answer[$key]), $possible_answers)){
      $grade = ShortAnswerAnswer::where('answer', $sa_answer[$key])->get();
      echo "plus +1. Grade is: " . $grade->grade . "<br>";
   }
}

O problema é:

Estou apenas recebendo a resposta em que a resposta é igual à resposta do usuário. Mas e se eu tiverDOIS mesma resposta e diferentegrade e obviamente pergunta diferente. Pode selecionar o errado.

Nota: Estou usando o Laravel5.1

Atualizar: Estrutura da tabela

short_answer
- name
- question

sa_sa_answer
- short_answer_id
- short_answer_answer_id

short_answer_answer
- answer
- grade

Atualizar

Eu já resolvi esse problema, no entanto, ninguém recebeu a recompensa, mas Se você pudesse responderessa questão, Posso te dar a recompensa mais2 marca de seleção e votação, eu realmente preciso de mais ajuda com isso. Também está relacionado com esta questão. A recompensa desaparecerá em três dias a partir de agora.

questionAnswers(2)

yourAnswerToTheQuestion