我对 cakePHP 很陌生,而且我已经被这个问题困住了几天了。我的产品索引视图显示我们在库存中的产品列表,并包含一个“结帐”操作,每个产品指向结帐/添加视图。问题是需要签出的产品中的 product_id 没有传递到添加结帐页面,我不知道如何实现这一点。如果有人有任何建议,我真的可以使用一些帮助。
这是我的 CheckoutController 添加操作:
public function add() {
if ($this->request->is('post')) {
$this->Checkout->create();
if ($this->Checkout->save($this->request->data)) {
$this->Session->setFlash(__('The checkout has been saved'));
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The checkout could not be saved. Please, try again.'));
}
}
$products = $this->Checkout->Product->find('list');
$users = $this->Checkout->User->find('list');
$this->set(compact('products', 'users'));
}
结帐添加视图
<?php echo $this->Form->create('Checkout');?>
<fieldset>
<legend><?php echo __('Add Checkout'); ?></legend>
<?php
echo $this->Form->input('product_id');
echo $this->Form->input('start_time');
echo $this->Form->input('end_time');
echo $this->Form->input('user_id');
echo $this->Form->input('description');
?>
</fieldset>
来自产品索引页面的链接
<?php echo $this->Html->link(__('Checkout'), array('controller' => 'Checkouts','action' => 'add', $product['Product']['id'])); ?>