Хотя наиболее распространенный подход заключается в использовании Model::select, он может вызвать отрисовку всех атрибутов, определенных с помощью методов доступа в классах модели. Итак, если вы определяете атрибут в своей модели:
<?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);
}
}
А затем используйте:
TableName::select('username')->where('id', 1)->get();
Будет выведена коллекция с обоими first_nameиusername , а не только с именем пользователя.
Лучше использовать pluck(), соло или опционально в сочетании с select- если вам нужны определенные столбцы.
TableName::select('username')->where('id', 1)->pluck('username');
или
TableName::where('id', 1)->pluck('username'); // что вернет коллекцию, состоящую только из usernameзначений
Также, необязательно, используйте ->toArray()для преобразования объекта коллекции в массив.