1

私はCakephpを初めて使用します。投稿データを取得して請求書テーブルを更新しようとしました。しかし、投稿データから医師IDの値を取得し、医師テーブルと更新請求書テーブルから医師IDに関連する紹介料を取得することになっています。

このコードで試しましたが、うまくいきませんでした。私を助けてください。

if ($this->request->is('post')) {

    $this->Invoice->create();
    if ($this->Invoice->save($this->request->data)) {
        $refid = $this->request->data['Invoice']['refid'];  
        print_r($refid);
        $doctor = $this->Doctor->findById($refid);
        $rfee = $doctor['Doctor']['rfee'];
        $invoice_number = $this->request->data['Invoice']['invoice_number'];
        $invoice = $this->Invoice->findByInvoiceNumber($invoice_number);
        $invoice_id = $invoice['Invoice']['id'];
        $this->Invoice->id = $invoice_id;
        $this->Invoice->save('refee', '200');
        $this->Session->setFlash('Invoice Successfully Added');

        $this->redirect(array('controller' => 'invoices', 'action' => 'edit', $invoice_id));
   } else {
       $this->Session->setFlash('Unable To Add Invoice');
   }
}
4

1 に答える 1

1

これでレコードを更新してみてください

$this->Invoice->save($this->request->data,false);

レコードが正常に更新された場合、投稿されたデータに関して検証ルールが失敗したことを意味します。この問題がこの方法で解決しない場合は、請求書テーブルの PK が POST データに存在することを確認してください。そうでない場合は、設定してコードを再実行してください。

于 2013-09-13T11:34:09.030 に答える