Cake PHP обновляет таблицу и связанную таблицу одновременно - PullRequest
0 голосов
/ 04 августа 2020

У меня есть две таблицы, которые связаны. strategies и strategy_conditions стратегии могут иметь много strategy_conditions.

Я обновил добавление стратегий. php с некоторыми javascript, к которым я могу добавить стратегические_условия. страница <input type="text" name="strategies_conditions[0][name]" value=""> <input type="text" name="strategies_conditions[1][name]" value=""> et c.

Теперь я хочу иметь возможность редактировать стратегии_conditions одновременно с редактированием стратегий. php Я могу oop поверх и добавить входные данные strategy_conditions, но моя проблема в том, что имя входа имеет неправильный формат для сохранения. Ввод должен быть <input type="text" name="strategies_conditions[0][name]" value="">, но вместо этого <input type="text" name="name" value="">

вот торт php код

<div class="strategies form content">
    <?= $this->Form->create($strategy) ?>
    <fieldset>
        <legend><?= __('Edit Strategy') ?></legend>
        <?php
            echo $this->Form->control('user_id', ['options' => $users]);
            echo $this->Form->control('name');
            echo $this->Form->control('description');
            echo $this->Form->control('one_hundred_trades');
        ?>
        <table id="conditions-table">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Level</th>
                    <th></th>
                </tr>
                <tr>
                    <td>
                        <input id="condtitions-input"></input>
                        <select id="condtitions-level">
                            <option value="Mandatory">Mandatory</option>
                            <option value="Important">Important</option>
                            <option value="Support">Support</option>
                        </select>
                    </td>
                    <td>
                        <button id="add-condtition" type='button' onclick="addCondition()">Add Conditions</button></td>
                    </td>  
                </tr>
                <?php foreach ($strategy->strategies_conditions as $strategiesConditions) : ?>
                <tr>
                    <td><?php echo $this->Form->control('name', array( 'label' => false )); ?></td>
                </tr>
                <?php endforeach; ?>                       
            </thead>
        </table>                
    </fieldset>
    <?= $this->Form->button(__('Submit')) ?>
    <?= $this->Form->end() ?>
</div>

1 Ответ

0 голосов
/ 04 августа 2020
<div class="strategies form content">
    <?= $this->Form->create($strategy) ?>
    <fieldset>
        <legend><?= __('Edit Strategy') ?></legend>
        <?php
            echo $this->Form->control('user_id', ['options' => $users]);
            echo $this->Form->control('name');
            echo $this->Form->control('description');
            echo $this->Form->control('one_hundred_trades');
        ?>
        <table id="conditions-table">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Level</th>
                    <th></th>
                </tr>
                <tr>
                    <td>
                        <input id="condtitions-input"></input>
                        <select id="condtitions-level">
                            <option value="Mandatory">Mandatory</option>
                            <option value="Important">Important</option>
                            <option value="Support">Support</option>
                        </select>
                    </td>
                    <td>
                        <button id="add-condtition" type='button' onclick="addCondition()">Add Conditions</button></td>
                    </td>  
                </tr>
                <?php foreach ($strategy->strategies_conditions as $key => $strategiesConditions) : ?>
                <tr>
                    <td><?php echo $this->Form->control('strategies_conditions.'.$key.'.name', array( 'label' => false )); ?></td>
                </tr>
                <?php endforeach; ?>                       
            </thead>
        </table>                
    </fieldset>
    <?= $this->Form->button(__('Submit')) ?>
    <?= $this->Form->end() ?>
</div>
...