Хоча найпоширеніший підхід полягає у використанні 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()
для перетворення об'єкта колекції в масив.