wake-up-neo.com

Laravel 5.2 - Die Methode pluck () gibt ein Array zurück

Ich versuche mein Projekt L5.1 -> L5.2 zu aktualisieren. In Upgrade-Anleitung Es gibt eine Sache, die mir nicht klar ist:

Die lists-Methode für die Collection, den Query Builder und die Eloquent-Abfrage Builder-Objekte wurden in pluck umbenannt. Die Methodensignatur Bleibt das selbe.

Das ist in Ordnung, das Umbenennen von Refactoting von lists() in pluck() ist kein Problem. Was aber mit der nützlichen pluck()-Methode, die in L5.0 und L5.1 war?

Aus der 5.0 Dokumentation :

Eine einzelne Spalte aus einer Zeile abrufen

$name = DB::table('users')->where('name', 'John')->pluck('name');

Was ist die Alternative für die alte pluck()-Methode in L5.2?

UPDATE:

Beispiel: 

var_dump(DB::table('users')->where('id', 1)->pluck('id'));

L5.1:

// int(1)

L5.2:

// array(1) { [0]=> int(1) }
42
Limon Monte

Die aktuelle Alternative für pluck() ist value().

68
user3158900

laravel Zupfen liefert ein Array

wenn Ihre Anfrage lautet:

 $name = DB::table('users')->where('name', 'John')->pluck('name');

dann ist das Array so (Schlüssel ist der Index des Elements. Auto inkrementierter Wert):

[
    1 => "name1",
    2 => "name2",
    .
    .
    .
    100 => "name100"
]

aber wenn dir das gefällt:

$name = DB::table('users')->where('name', 'John')->pluck('name','id');

dann ist der Schlüssel der tatsächliche Index in der Datenbank. 

key||value
[
    1 => "name1",
    2 => "name2",
    .
    .
    .
    100 => "name100"
]

sie können einen beliebigen Wert als Schlüssel festlegen.

4

In Laravel 5.1+ können Sie den Wert () anstelle von zupfen verwenden.

Zum ersten Auftreten können Sie entweder verwenden

DB::table('users')->value('name');

oder verwenden,

DB::table('users')->where('id', 1)->pluck('name')->first();
0
Pillai