Хоча найпоширеніший підхід полягає у використанні Model::select, він може спричинити відображення всіх атрибутів, визначених методами accessor, в межах модельних класів. Тож якщо ви визначите атрибут у своїй моделі:
<?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()для перетворення об'єкта колекції в масив.