Si bien el enfoque más común es el uso Model::select
, puede causar la representación de todos los atributos definidos con métodos de acceso dentro de las clases de modelo. Entonces, si define un atributo en su modelo:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* Get the user's first name.
*
* @param string $value
* @return string
*/
public function getFirstNameAttribute($value)
{
return ucfirst($value);
}
}
Y luego usa:
TableName::select('username')->where('id', 1)->get();
Producirá la colección con ambos first_name
y username
, en lugar de solo el nombre de usuario.
Mejor uso pluck()
, solo u opcionalmente en combinación con select
, si desea columnas específicas.
TableName::select('username')->where('id', 1)->pluck('username');
o
TableName::where('id', 1)->pluck('username');
// eso devolvería la colección que consta solo de username
valores
Además, opcionalmente, use ->toArray()
para convertir el objeto de colección en una matriz.