2017-07-28 24 views
0

私はこの生のクエリを持っています。 これをLaravelの雄弁に変換するにはどうすればいいですか?生のクエリをLaravelに変換する方法Eloquent

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

結果には複数の回答があり、回答は結果に属します。 @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

答えをありがとう、結果と一緒に関係を取得することはできますか? 上記のクエリを使用した( 'relation')のように? –

+0

彼らの関係は何ですか?それをあなたの質問に付け加えてください。 –

+0

私は質問を更新しました。第二に、上記のコマンドを実行している間に "1066 - 一意のテーブル/エイリアスではありません:"答え "を取得しています。 –

関連する問題