Chociaż najbardziej powszechnym podejściem jest użycie Model::select
, może spowodować renderowanie wszystkich atrybutów zdefiniowanych za pomocą metod akcesorów w klasach modelu. Jeśli więc zdefiniujesz atrybut w swoim modelu:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
public function getFirstNameAttribute($value)
{
return ucfirst($value);
}
}
A następnie użyj:
TableName::select('username')->where('id', 1)->get();
Wyprowadzi kolekcję z zarówno nazwą użytkownika, jak first_name
i username
, a nie tylko.
Lepsze użycie pluck()
, solo lub opcjonalnie w połączeniu z select
- jeśli chcesz mieć określone kolumny.
TableName::select('username')->where('id', 1)->pluck('username');
lub
TableName::where('id', 1)->pluck('username');
// co zwróci kolekcję składającą się tylko z username
wartości
Opcjonalnie użyj również ->toArray()
do konwersji obiektu kolekcji na tablicę.