私は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'])); ?>