私の問題はなりますCakePHPの増分値
が、私は人々が(落書きのような)1つ以上のイベントを選択することができ投票アプリを作りたいです。 これについては、voteという関数を設定しました。ビューでは、チェックボックスを使用してイベント を選択できます。モデルは投票とグループイベントです。世論調査には多くのグループがあります。 私の問題はupdateAll()
に電話すると、関連するGroupeventsのすべての値が になります。ここで
は私のコードです:
ビュー:
echo $this->Form->create('Poll', array('action' => 'vote'));
for($i=0; $i<$count; $i++){
echo $this->Form->input('Groupevent.'.$i.'.votes', array('type'=>'checkbox',
'label'=>$this->Groupevent['startTime']));
echo $this->Form->input('Groupevent.'.$i.'.id', array('type'=>'hidden'));
}
echo $this->Form->input('id', array('type' => 'hidden'));
echo $this->Form->end('vote');
コントローラー機能:ちょうどチェックする値がインクリメントますよう
function vote($id=null){
$this->Poll->id = $id;
if ($this->request->is('get')) {
$this->request->data = $this->Poll->read();
$this->set('count', $this->Poll->Groupevent->find('count',
array('conditions'=>array('Groupevent.poll_id'=>$this->Poll->id))));
} else {
unset($this->Poll->Groupevent->validate['poll_id']);
if ($this->Poll->Groupevent->updateAll(
array('Groupevent.votes'=>'Groupevent.votes+1'),
array('Groupevent.poll_id'=>$this->Poll->id)))
{
$this->Session->setFlash('Your poll has been updated.');
$this->redirect(array('action' => 'edit', $id));
} else {
$this->Session->setFlash('Unable to update your poll.');
}
}
}
がどのように私は、それを動作させることができますか?事前に
おかげ
編集:配列との示唆について
感謝。しかし、私はそれが動作しない特定の方法を試してみました。この配列を作成するにはどうすればいいですか?
こんにちは、感謝を持っているなら、私に教えてください。しかし、私はこのデータから配列を作成することはできません。私は$ this-> data ['Groupevent']と$ this-> data ['Groupevent'] ['id']などを試しましたが、うまくいきませんでした。 – ulanBator
提出後にprint_r($ this-> data)のダンプを貼り付けてください。 – bbb
私はこれを試しましたが空です。 – ulanBator