FileUpload
CakePHP (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
レコードに添付するにはどうすればよいですか?