CakePHP menghilangkan pengiriman kolom input dan mengubah nilai input saat Kirim?

Saya menggunakan CakePHP 1.2 di kantor dan, mengikuti pertanyaan terakhir saya, saya ingin mengirimkan kunci array dari opsi yang dipilih dalam input SELECT alih-alih mengirimkan nilai sebenarnya. Saya telah mencoba beberapa hal dengan fungsi Model::beforeSave(), namun tidak berhasil.

Saya mengetahui bahwa data yang diposting oleh CakePHP tidak mencakup seluruh array, tetapi hanya nilai yang dipilih. Berikut tampilan fungsinya saat ini:

function beforeSave(){
    $this->Post->set('category_id', = array_keys($this->data['Annonce']['category_id']);
    # debug($this->data);
}

Apakah ada cara untuk menyimpan kunci array ke dalam input tersembunyi dan mengubah nilai input ini tergantung pada item yang dipilih pengguna di input SELECT, dan juga menghilangkan pengiriman input pengguna tetapi tetap mengirimkan nilai tersembunyi?


person Jeff Noel    schedule 27.07.2012    source sumber
comment
Ini lebih merupakan pertanyaan JavaScript daripada pertanyaan PHP/CakePHP.   -  person uzyn    schedule 28.07.2012


Jawaban (1)


$categories = Set::combine($categories,'{n}.categories.id', '{n}.categories.nom');

Ini berhasil untuk saya... CakePHP memberikan nilai array_keys() secara otomatis ke bidang input value.

person Jeff Noel    schedule 30.07.2012