Laravel 5.4 memetik

Saya memiliki masalah dengan fungsi pemetikan laravel5.4.

Saya perlu mendapatkan daftar (untuk digunakan dalam form::select) dengan daftar kota (cap_citta) dan kode pos yang sesuai (cap_cap) sebagai kunci.

Dalam kode saya, saya memiliki baris berikut:

$items = Cap::pluck('cap_citta', 'cap_cap');

Masalahnya adalah saya hanya memperoleh sebagian daftar.

Jika saya menulis

$items = Cap::pluck('cap_citta');

sebaliknya semuanya berjalan baik (tapi saya kehilangan kuncinya).


person dds ss    schedule 16.03.2017    source sumber
comment
Saat Anda mengatakan daftar sebagian, apakah ini karena tidak semua entri memiliki cap_cap?   -  person Ohgodwhy    schedule 17.03.2017
comment
Dalam database, semua entri memiliki cap_cap (kunci utama) dan cap_citta. Diambil secara individual atau dengan get() sederhana semuanya baik-baik saja, tetapi dengan pemetikan beberapa pasangan hilang.   -  person dds ss    schedule 17.03.2017
comment
Tidak jelas apa yang Anda harapkan. Bisakah Anda menjelaskannya lebih lanjut?   -  person Hedam    schedule 17.03.2017
comment
Bisakah beberapa kota memiliki kode pos yang sama? jika demikian, Anda akan selalu kehilangan beberapa saat Anda mengetik dengan 'kode pos' sehingga hanya 1 catatan per kode pos yang akan ada dalam hasil Anda karena kunci array unik. Kode pos tidak cukup unik untuk menjadi pengenal.   -  person lagbox    schedule 17.03.2017
comment
Terima kasih, masalahnya sebenarnya cap_cap itu tidak unik.   -  person dds ss    schedule 18.03.2017


Jawaban (2)


Anda melakukan segalanya dengan benar dengan:

$items = Cap::pluck('cap_cap', 'cap_citta');

Apakah Anda yakin semua entri memiliki kunci - cap_citta ?

person Hedam    schedule 16.03.2017
comment
Kuncinya adalah bidang cap_cap dalam contoh Anda - person dparoli; 17.03.2017
comment
Terima kasih, mereka sudah tertukar sekarang. - person Hedam; 17.03.2017

Mungkin

$collection = Cap::all();
$items = $collection->pluck('cap_citta', 'cap_cap');

Selamat bersenang-senang!

person Adam    schedule 16.03.2017