2017-06-10 6 views
1

のための第1名+姓を組み合わせ、次の形式でJSONを返す必要があります。LaravelでLaravelは摘み取るが、Laravel/VueのプロジェクトとSELECT2を使用して選択

[ 
    { id: 0, text: 'enhancement' }, 
    { id: 1, text: 'bug' } 
] 

私は私を作成するために摘むを使用することができます知っていますリストデータお客様のため:

$customers = Customer::pluck('id', 'first_name'); 

しかし、idと名+姓を単一の名前として返したいとします。

どうすればいいですか?

答えて

3

アクセサを使用してみましたか?

https://laravel.com/docs/5.4/eloquent-mutators#defining-an-accessor

私はそれをテストしていませんが、これは仕事ができる:

は、あなたの顧客雄弁モデルにこれを追加します。その後、

public function getFullNameAttribute($value) 
    { 
     return ucfirst($this->first_name) . ' ' . ucfirst($this->last_name); 
    } 

と試してみてください。

プラックを更新しましたアクセサ上のコレクションでのみ動作します。あなたがCustomer::pluck('id', 'full_name')をしようとFULL_NAMEという名前のDBの列が存在しないので、それは動作しませんあなたはサイドノートとしてCustomer::all()->pluck('id', 'full_name')

$customers = Customer::all()->pluck('id', 'full_name'); 
  • を使用する必要があり、我々はドンように、そのため、パフォーマンスのためにCustomer::all(['id', 'first_name', 'last_name'])->pluck(...)を行うには、おそらくより良いですdbから不要な列を引き出します。

これが役に立ちます。

0

あなたは、このようにそれを行うことができます

$customers = DB::table('customers')->select("id", "CONCAT(firstname,' ',lastname) as fullname")->get(); 

またはあなたも、この、

$customers = DB::table('customers')->select(DB::raw('CONCAT(firstname,' ',lastname) as fullname, id'))->get(); 

やPHPの方法で、

$fullname = $customers->firstname. " " .$customers->lastname; 
好きです
関連する問題