Я хочу создать два поля ввода.Один сохранит Int, а другой - значение типа K-0001.После сохранения этих входных полей и перезагрузки формы я хочу видеть внутри полей последние значения, которые они сохранили в базе данных.
Причина, по которой я хочу сделать это так, заключается в том, что таким образом мне нужно толькоизмените последнюю цифру и снова сохраните форму.Проблема в том, что я не знаю, как я могу это сделать.
Пример для лучшего объяснения:
Форма:
Поле 1: первое значение 20000. I Введите число 20001.
Поле 2: первое значение K-0000.Я ввожу текст K-0001.
После сохранения формы и перезагрузки я хочу, чтобы она выглядела следующим образом.
Поле 1: отображается значение 20001. Я изменяю его на 20005.
Поле 2: показывает значение K-0001.Я меняю его на К-0005.
И снова:
Поле 1: отображается значение 20005. Я изменяю его на 20007.
Поле 2: показывает значение K-0005.Я изменяю это на K-0007.
и т. Д.
Полагаю, мне нужно создать функцию, которая получает значения из моей базы данных.После этого мне нужно поместить их в мои поля ввода, по крайней мере, я так думаю.
Код:
add.ctp
div class="customers form large-9 medium-8 columns content">
<?= $this->Form->create($customer) ?>
<fieldset>
<legend><?= __('Neuen Kunden erstellen') ?></legend>
<?php
echo $this->Form->control('tour_id', ['options' => $tours, 'empty' => true]);
/* echo $this->Form->control('order', array('label' => __('Bestellung', true))); */
echo $this->Form->control('kdnr', array('label' => __('Kundennummer', true)));
echo $this->Form->control('debinr', array('label' => __('Debitorennummer', true)));
echo $this->Form->control('anrede', array('label' => __('Anrede', true)));
echo $this->Form->control('name', array('label' => __('Name', true)));
echo $this->Form->control('strasse', array('label' => __('Straße', true)));
echo $this->Form->control('plz', array('label' => __('PLZ', true)));
echo $this->Form->control('ort', array('label' => __('Ort', true)));
echo $this->Form->control('tel', array('label' => __('Telefon', true)));
echo $this->Form->control('kontonummer', array('label' => __('Kontonummer', true)));
echo $this->Form->control('bankleitzahl', array('label' => __('Bankleitzahl', true)));
echo $this->Form->control('lastschrift', array('label' => __('Lastschrift', true)));
echo $this->Form->control('detail', array('label' => __('Weitere Details', true)));
echo $this->Form->control('betreuer_anrede', array('label' => __('Betreuer Anrede', true)));
echo $this->Form->control('betreuer_name', array('label' => __('Betreuer Name', true)));
echo $this->Form->control('betreuer_strasse', array('label' => __('Betreuer Straße', true)));
echo $this->Form->control('betreuer_plz', array('label' => __('Betreuer PLZ', true)));
echo $this->Form->control('betreuer_ort', array('label' => __('Betreuer Ort', true)));
echo $this->Form->control('betreuer_on_bill', array('label' => __('Betreuer soll auf der Rechnung stehen', true)));
?>
</fieldset>
<?= $this->Form->button(__('Bestätigen')) ?>
<?= $this->Form->end() ?>
</div>
CustomersTable.php
class CustomersTable extends Table
{
/**
* Initialize method
*
* @param array $config The configuration for the Table.
* @return void
*/
public function initialize(array $config)
{
parent::initialize($config);
$this->setTable('customers');
$this->setDisplayField('name');
$this->setPrimaryKey('id');
$this->belongsTo('Tours', [
'foreignKey' => 'tour_id'
]);
$this->hasMany('Bills', [
'foreignKey' => 'customer_id'
]);
$this->hasMany('Orders', [
'foreignKey' => 'customer_id'
]);
}
/**
* Default validation rules.
*
* @param \Cake\Validation\Validator $validator Validator instance.
* @return \Cake\Validation\Validator
*/
public function validationDefault(Validator $validator)
{
$validator
->integer('id')
->allowEmptyString('id', 'create');
$validator
->integer('order')
->allowEmptyString('order');
$validator
->scalar('kdnr')
->maxLength('kdnr', 45)
->allowEmptyString('kdnr');
$validator
->scalar('debinr')
->maxLength('debinr', 31)
->allowEmptyString('debinr');
$validator
->scalar('anrede')
->maxLength('anrede', 45)
->allowEmptyString('anrede');
$validator
->scalar('name')
->maxLength('name', 45)
->allowEmptyString('name');
$validator
->scalar('strasse')
->maxLength('strasse', 45)
->allowEmptyString('strasse');
$validator
->integer('plz')
->allowEmptyString('plz');
$validator
->scalar('ort')
->maxLength('ort', 45)
->allowEmptyString('ort');
$validator
->scalar('tel')
->maxLength('tel', 45)
->allowEmptyString('tel');
$validator
->boolean('lastschrift')
->allowEmptyString('lastschrift');
$validator
->scalar('kontonummer')
->maxLength('kontonummer', 32)
->allowEmptyString('kontonummer');
$validator
->integer('bankleitzahl')
->maxLength('bankleitzahl', 32)
->allowEmptyString('bankleitzahl');
$validator
->scalar('detail')
->allowEmptyString('detail');
$validator
->scalar('betreuer_anrede')
->maxLength('betreuer_anrede', 45)
->allowEmptyString('betreuer_anrede');
$validator
->scalar('betreuer_name')
->maxLength('betreuer_name', 45)
->allowEmptyString('betreuer_name');
$validator
->scalar('betreuer_strasse')
->maxLength('betreuer_strasse', 45)
->allowEmptyString('betreuer_strasse');
$validator
->integer('betreuer_plz')
->allowEmptyString('betreuer_plz');
$validator
->scalar('betreuer_ort')
->maxLength('betreuer_ort', 45)
->allowEmptyString('betreuer_ort');
$validator
->boolean('betreuer_on_bill')
->allowEmptyString('betreuer_on_bill');
return $validator;
}
/**
* Returns a rules checker object that will be used for validating
* application integrity.
*
* @param \Cake\ORM\RulesChecker $rules The rules object to be modified.
* @return \Cake\ORM\RulesChecker
*/
public function buildRules(RulesChecker $rules)
{
$rules->add($rules->existsIn(['tour_id'], 'Tours'));
return $rules;
}
}
Надеюсь, я достаточно хорошо объяснил свою цель и ничего не забылЯ все еще учусь, поэтому, если я забуду что-нибудь, просто дайте мне знать, и я отредактирую свой Вопрос.