2016-07-14 12 views
0

Ich habe folgendes Problem mit jenssegers Query Builder (Ich bin einen neuen Benutzer):Jenssegers/select (‚Spalte‘) liefert mehr Spalten als die angegebenen in der Auswahl

print_r(DB::table($tablename)->where('_id',$_id)->select($table_structure_record['field'])->get()); 

mich wieder mehr als eine Spalte, trotz nur eine Spalte in der SELECT-Anweisung angegeben:

Array ([0] => Array ([_id] => MongoDB\BSON\ObjectID Object ([oid] => 5780b81d93f7fb0e00d0f252) [collection] => structure)) 

Mein erwartete Ergebnis nur sein würde ([Sammlung] => Struktur), verstehe ich nicht, warum ich auch „get [_id] = > MongoDB \ BSON \ ObjectID-Objekt ([oid] => 5780b81d93f7fb0e00d0f252) "

Kann mir jemand helfen? Trotz vieler Suchvorgänge scheint SELECT-Anweisung NUR die angegebenen Spalten zurückzugeben, keine anderen!

Antwort

1

MongoDb gibt immer das Feld _id zurück, es sei denn, Sie haben es während der Anfrage (MongoDb Limit Fields to Return from Query Documentation) nicht festgelegt.

Sie können versuchen, Projekt mit instead.Then es so etwas wie das sein wird:

DB::table($tablename)->where('_id',$_id)->project([$table_structure_record['field'] => 1, "_id" => 0])->get());