2017-08-25 1 views
0

konvertieren Wie kann ich einen Abfrage-Generator von diesem Rawsql erstellen.Wie rawsql in Abfrage-Generator

$sql = "SELECT * 
FROM users 
INNER JOIN votes ON user.id = votes.user_id 
WHERE 
    voting_date BETWEEN '$from_date' AND '$to_date'"; 
+0

Was ist das Problem mit dieser Abfrage? –

+1

Bitte versuchen Sie zuerst etwas. Nur um Code für dich zu schreiben ist eine __bad idea__. –

+0

Bitte zeigen Sie uns, was Sie bisher versucht haben – dfour

Antwort

0

Angenommen, Sie haben eine Tabelle Benutzer haben, können Sie so etwas wie dies versuchen kann;

$query = DB::table('users') 
->join('votes', 'users.id', '=', 'votes.user_id') 
->whereBetween('votes.voting_date', [$from_date, $to_date]) 
->get(); 
+0

Vielen Dank, ich schätze Ihre Hilfe! –

0
$votes = DB::table('users')->join('votes','users.id','=','votes.user_id') 
->whereBetween('voting_date',[$from_date,$to_date])->get(); 

//use db in your controller 
+0

Bitte geben Sie eine Erklärung, die nützlich sein wird für Futures-Leser – denny

0

Sie können einfache Verwendung dieses

$sql = "SELECT * 
FROM users 
INNER JOIN votes ON user.id = votes.user_id 
WHERE 
    voting_date BETWEEN '$from_date' AND '$to_date'"; 

und die Abfrage ausführen einfach durch

\DB::select(\DB::raw($sql)); 
0

Sie sollten versuchen, diese Arbeit für Sie sein kann:

$rsltUser = DB::table('users')->join('votes','votes.user_id','=','users.id') 
->whereBetween('voting_date',[$from_date,$to_date])->get(); 

Hoffnung das funktioniert für dich !!!

+0

Warum verwenden Sie Linksbündel statt Innen? – denny

+1

nur für den Vorschlag und überprüfen Sie bitte meine aktualisierte Antwort –

+0

Jetzt sieht OK Links Join funktioniert nicht richtig in diesem Fall. – denny

0

Wenn Sie das Modell definiert haben User Sie dies tun können:

User::whereBetween('voting_date',[$from_date,$to_date]) 
    ->join('votes','users.id','=','votes.user_id') 
    ->get(); 

Es wäre noch besser, wenn Sie die Beziehung mit den Stimmen im Modell definiert. Beispiel:

$posts = Post::whereHas('comments', function ($query) { 
    $query->where('content', 'like', 'foo%'); 
})->get(); 
Verwandte Themen