แม้ว่าวิธีการทั่วไปส่วนใหญ่จะใช้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()เพื่อแปลงวัตถุคอลเลกชันเป็นอาร์เรย์