FileUploadCakePHP (1.3) アプリでプラグイン (https://github.com/webtechnick/CakePHP-FileUpload-Plugin)を使用しようとしています。
と の 2 つのモデルがPendingContractありPendingContractFileます。APendingContractは多くのPendingContractFileレコードを持つことができます。新しい を保存するときPendingContractは、アップロードしたものも保存したいと思いPendingContractFileます。ただし、PendingContractまだ ID がなく、 my PendingContractFile.
明確にするために、ここに私のモデルがあります:
<?php
class PendingContract extends AppModel {
var $name = 'PendingContract';
var $belongsTo = array(
'Supplier'
);
var $hasMany = array(
'PendingContractFile'
);
}
class PendingContractFile extends AppModel {
var $name = 'PendingContractFile';
var $belongsTo = array(
'PendingContract' => array(
'className' => 'PendingContract',
'foreignKey' => 'pending_contract_id'
),
'Author' => array(
'className' => 'User',
'foreignKey' => 'author_id'
)
);
}
そして、ここに私が保存しているコントローラーメソッドがありますPendingContract:
<?php
class PendingContractsController extends AppController {
function add() {
if (!empty($this->data)) {
if ($this->FileUpload->success) {
$this->Session->setFlash('Pending contract successfully created.');
$this->redirect(array('action' => 'index'));
}
else {
$this->Session->setFlash($this->FileUpload->showErrors());
}
}
}
}
現在、私が得ているエラーは次のとおりです。
1452: 子行を追加または更新できません: 外部キー制約が失敗しました (pending_contract_files、CONSTRAINT pending_contract_files_ibfk_1 FOREIGN KEY (pending_contract_id) REFERENCES pending_contracts (id) ON DELETE CASCADE ON UPDATE CASCADE)
FileUploadプラグインを使用して、アップロードしたファイルを新しいPendingContractレコードに添付するにはどうすればよいですか?