2017-07-28 57 views
0

我有这个原始查询。 我该如何将这一个转换成Laravel雄辩。如何将原始查询转换成Laravel雄辩的方式

SELECT * FROM `results` AS q 
INNER JOIN `answers`AS a ON q.question_id = a.question_id 
AND q.team1 = a.team1 
AND q.team2 = a.team2 
AND q.score1 = a.score1 

// Table relationships. 
results hasMany answers. 
results hasMany predictions. 
Prediction is another model here. 
+0

'results'和'answers'之间的关系是什么? –

+0

结果hasMany答案,并且答案属于结果。 @BalrajAllam –

回答

1

据我理解你的问题,你不能加入得到的关系。

请试试这个查询。

Result::join('results as q', function ($join) { 
      $join->on('answers.question_id', '=', 'q.question_id') 
       ->on('user_answers.team1', '=', 'q.team1') 
       ->on('user_answers.team2', '=', 'q.team2') 
       ->on('user_answers.score1', '=', 'q.score1') 
       ->on('user_answers.score2', '=', 'q.score2'); 
     })->get(); 

现在您可以运行另一个查询来获取关系数据。

0

假设Result是表results的模型:

Result::join('answers', function ($join) { 
    $join->on('answers.question_id', '=', 'results.question_id') 
     ->on('answers.team1', '=', 'results.team1') 
     ->on('answers.team2', '=', 'results.team2') 
     ->on('answers.score1', '=', 'results.score1'); 
})->get(); 
+0

谢谢你的回答,我可以取得关系和结果。 与('关系')使用上述查询一样吗? –

+0

他们之间有什么关系?附加到您的问题。 –

+0

我已经更新了问题,其次我得到了“1066 - 不是唯一的表/别名:'答案'”,而我运行上述命令。 –