2017-01-24 5 views
0

Ich habe diese Abfrage, dieWie INNER JOIN Tabellen in Laravel php

SELECT * FROM books b 
INNER JOIN categories c ON b.category_id = c.id 
WHERE c.category_name = 'Comics' 

somit durch Parameter übergeben wird, ist

SELECT * FROM books b 
INNER JOIN categories c ON b.category_id = c.id 
WHERE c.category_name = ? 

ich in Laravel versucht, wie diese

writer::join('categories','categories.id','=','writers.category_id') 
    ->where('categories.category_name','Comics') 
    ->get(); 

Und mit Parameter

writer::join('categories','categories.id','=','writers.category_id') 
    ->where(['categories.category_name' => $cat]) 
    ->get(); 

Ich habe in Laravel keine Daten erhalten! Gibt es einen Fehler, den ich mache?

Antwort

1

Versuchen Sie stattdessen:

writer::join('categories','categories.id','=','writers.category_id') 
->where([ 
    ['categories.category_name', '=', $cat] 
])->get(); 

oder

writer::join('categories','categories.id','=','writers.category_id') 
->where('categories.category_name', $cat) 
->get(); 
+0

Können Sie mir sagen, wie Paginieren hinzufügen(); dazu? –

+0

also anstelle von -> get() benutze einfach die -> paginate() – kjames