След като филтрирах някои данни, създадох променлива $customers. Тази променлива е прост масив, който има следните стойности:
array(
(int) 1 => 'Customer1',
(int) 2 => 'Customer2',
(int) 3 => 'Customer3'
)
Предадох този масив от контролера към изгледа по този начин
$this->set('customers', $customers);
В изгледа използвам този масив във формуляр, така че потребителят да може да избере такъв
echo $this->Form->input('customer_id', array('options' => array($customers)));
Данните, които се показват във формуляра за избор, са тези „Клиент1“, „Клиент2“, „Клиент3“
Eveyting работи добре досега.
Сега, след като потребителят е изпратил данните, искам да направя допълнителна логика в контролера. Искам да взема данните, които потребителят е избрал, и да ги запиша във втора таблица. Така че правя това:
$this->Invoice->set('secondtabel', $this->request->data['Invoice']['customer_id']);
Данните се записват във втората таблица, но проблемът е, че записва стойността '1', '2', '3', а не името на клиента. Как мога да запазя името на клиента, а не идентификационния номер от масива.
Моля, имайте търпение, аз съм нов в cakephp и в php като цяло.