私のウェブサイト/データベースは、ユーザーがアカウントを作成するように設定されているため、ユーザーがアカウントを作成すると、データが accounts_users テーブルに保存されます。ユーザーが (users テーブルの情報を使用して) ログインし、テンプレートを作成します。問題は、accounts_templates テーブルが accounts_users テーブルからアカウント ID を取得せず、データベース エラーが発生することです。
アカウント hambt ユーザー、
ユーザー hambt アカウント、
アカウントには多くのテンプレートがあり、
テンプレートはアカウントに属します
id、account_id、template_id を含む accounts_templates があります
id、account_id、user_id を含む accounts_users があります
ID、名前、説明、アクティブを含むテンプレートがあります
ID、会社名、郵便番号、abn を含むアカウントがあります
ID、ユーザー名、パスワードを含むユーザーがいます
テンプレートモデル
<?php
class Template extends AppModel{
var $name='Template';
public $useTable = 'templates';
public $primaryKey = 'id';
public $belongsTo = array(
'Account' => array(
'classname' => 'Account',
'foreignKey' =>'account_id'
)
);
}
アカウント テンプレート
var $hasMany = array(
'Template' =>
array(
'className'=>'Template',
'foreignKey'=>'account_id',
)
);
テンプレートコントローラーから関数を追加
function add(){
if($this->request->is('post')){
$this->Template->create();
if ($this->Template->save($this->request->data))
{
$this->Session->setFlash('The template has been saved');
$this->redirect( array('controller' => 'Fields','action' => 'add'));
}
else { $this->Session->setFlash('The template could not be saved. Please, try again.'); }
}
}