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_namei 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 usernamewartości
Opcjonalnie użyj również ->toArray()do konwersji obiektu kolekcji na tablicę.