0

次のコードを実行すると、CakePHPが1行しか作成しない理由を誰かに説明できますか?

$this->Adresses->save(array('Contact_ID' => $ClientID, 'Type' => 1, 'Addressline_1' =>    $_POST['Straat'], 'House_Number' => $_POST['Huisnummer'], 'Postal_Code' => $_POST['Postcode'], 'City' => $_POST['Woonplaats'], 'Country' => 'NL'));

$this->Adresses->save(array('Contact_ID' => $ClientID, 'Type' => 2, 'Addressline_1' => $_POST['F_Straat'], 'House_Number' => $_POST['F_Huisnummer'], 'Postal_Code' => $_POST['F_Postcode'], 'City' => $_POST['F_Woonplaats'], 'Country' => 'NL'));

同じテーブルに2つの別々の行を作成したいだけです

編集:

以下の解決策に従い、コードを次のように変更した後:

$this->Adresses->create();

$this->Adresses->save(array('Contact_ID' => $ClientID, 'Type' => 1, 'Addressline_1' =>   $_POST['Straat'], 'House_Number' => $_POST['Huisnummer'], 'Postal_Code' => $_POST['Postcode'], 'City' => $_POST['Woonplaats'], 'Country' => 'NL'));

$this->Adresses->create();

$this->Adresses->save(array('Contact_ID' => $ClientID, 'Type' => 2, 'Addressline_1' => $_POST['F_Straat'], 'House_Number' => $_POST['F_Huisnummer'], 'Postal_Code' => $_POST['F_Postcode'], 'City' => $_POST['F_Woonplaats'], 'Country' => 'NL'));

別々の行に保存されますが、何らかの理由で、列タイプは両方の行「1」にあります。これはどのように可能ですか?

4

2 に答える 2

1

create最初のメソッドの後にメソッドを呼び出す必要がありますsave。例:-

$this->Adresses->save(array('Contact_ID' => $ClientID, 'Type' => 1, 'Addressline_1' =>    $_POST['Straat'], 'House_Number' => $_POST['Huisnummer'], 'Postal_Code' => $_POST['Postcode'], 'City' => $_POST['Woonplaats'], 'Country' => 'NL'));

$this->Adresses->create();

$this->Adresses->save(array('Contact_ID' => $ClientID, 'Type' => 2, 'Addressline_1' => $_POST['F_Straat'], 'House_Number' => $_POST['F_Huisnummer'], 'Postal_Code' => $_POST['F_Postcode'], 'City' => $_POST['F_Woonplaats'], 'Country' => 'NL'));
于 2012-09-20T08:54:19.763 に答える
0

新しいレコードを作成するときに最も基本的なことの1つを忘れたため、常に最初にcreate()を呼び出します。

 $this->Adresses->create();
 $this->Adresses->save($data);

それ以外の場合、2番目の呼び出しは最初の呼び出しのIDを使用します。したがって、(既存のレコードを更新するのではなく)新しいレコードを作成するときにcreate()を忘れないでください。

于 2012-09-20T08:54:58.057 に答える