Embora a abordagem mais comum seja o uso Model::select
, ela pode causar a renderização de todos os atributos definidos com métodos de acessador nas classes de modelo. Portanto, se você definir o atributo no seu 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);
}
}
E então use:
TableName::select('username')->where('id', 1)->get();
Ele produzirá coleção com ambos first_name
eusername
, em vez de apenas com o nome de usuário.
Melhor uso pluck()
, solo ou opcionalmente em combinação com select
- se você quiser colunas específicas.
TableName::select('username')->where('id', 1)->pluck('username');
ou
TableName::where('id', 1)->pluck('username');
// que retornaria uma coleção composta apenas por username
valores
Além disso, opcionalmente, use ->toArray()
para converter o objeto de coleção em matriz.