2017-12-15 2 views
0

Ich weiß nicht, warum ich hier eine leere sammlung bekomme. In der Vergangenheit war es Arbeit für mich, aber warum bekomme ich das jetzt? Wo mache ich falsch?laravel leere sammlung aus der datenbank

public function test($id){ 
    //dd($id); 
    $test = DB::table('images')->select('name')->where('user_id', $id)->get(); 
    dd($test); 
} 

und senden Sie es mir dies:

Collection {#402 ▼ 
    #items: [] 
} 

Ich habe bereits meine Strecke bereits definiert:

Route::get('/test/{id}', ['as'=>'create', 'uses'=>'[email protected]']); 

Ich habe ein dd($id) und es mir die ID zurückkehren wollte ich so, dass ein Teil ist korrekt und wenn ich DB::table('images')0>select('name')->get(); mache, gebe es mir meine Daten zurück, so dass es übergeben wurde, aber sobald ich versuche, die ID hinzuzufügen, funktioniert es nicht.

Ich habe sogar versucht, so etwas wie dies zu tun, aber nicht funktioniert:

$test = DB::table('images')->join('user1s', 'user1s.id', '=', 'images.user_id')->select('images.name')->where('images.user_id', 'user1s.id')->get(); 

Beziehung:

user1s hasOne Bilder

+0

Ich denke, '$ ID' ist nicht mit' user_id' abgestimmt und deshalb haben Sie nicht die Ergebnisse erhalten! –

+1

Oh mein Gott, du hast recht, ich habe vergessen, die user_id zu überprüfen, ich war schon zu sehr auf $ id konzentriert. Vielen Dank @HirenGohel – blastme

Antwort

2

Ich gehe davon aus, dass $id nicht mit user_id abgestimmt ist in Ihrer DB ist Ihre Anfrage in Ordnung und deshalb haben Sie die Ergebnisse nicht erhalten!

Versuchen mit user_id, die in Ihrem DB zur Verfügung steht, so etwas wie:

public function test($id){ 
    $test = DB::table('images')->select('name')->where('user_id', $id)->get(); //take $id which is user_id available in your DB 
    dd($test); 
} 

Hope this Sie und verständlich Sie hilft !!

Verwandte Themen