兩個表之間設置多個HABTM關係,我試圖讓這兩個表之間的兩個HABTM關係在CakePHP 2.6,但它給了我一個數據庫錯誤,當我嘗試創建一個記錄。我確定必須有一些模型設置或某些東西,但我無法修復它。 :(如何在CakePHP中
這裏的DB結構的一個img:
模型
class Solicitude extends AppModel {
public $hasAndBelongsToMany = array(
'Citante' => array(
'className' => 'Cliente',
'joinTable' => 'citantes',
'foreignKey' => 'solicitude_id',
'associationForeignKey' => 'cliente_id',
'unique' => 'keepExisting',
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'finderQuery' => '',
),
'Citado' => array(
'className' => 'Cliente',
'joinTable' => 'citados',
'foreignKey' => 'solicitude_id',
'associationForeignKey' => 'cliente_id',
'unique' => 'keepExisting',
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'finderQuery' => '',
)
);
}
控制器添加方法
public function add() {
if ($this->request->is('post')) {
$this->Solicitude->create();
if ($this->Solicitude->save($this->request->data)) {
$this->Session->setFlash(__('The solicitude has been saved.'));
return $this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The solicitude could not be saved. Please, try again.'));
}
}
$citantes = $this->Solicitude->Citante->find('list');
$citados = $this->Solicitude->Citado->find('list');
$this->set(compact('citantes', 'citados'));
}
添加視圖
echo $this->Form->create('Solicitude');
回波__( '添加關懷');
echo $this->Form->input('radicado');
echo $this->Form->input('fecha');
echo $this->Form->input('ccsede_id');
echo $this->Form->input('ccusuario_id');
echo $this->Form->input('consulta_id');
echo $this->Form->input('peticiones');
echo $this->Form->input('area_id');
echo $this->Form->input('tipo_clase_id');
echo $this->Form->input('Citante');
echo $this->Form->input('Citado');
echo $ this-> Form-> end(__('Submit'));獲得添加
錯誤
錯誤:SQLSTATE [42S22]:柱未找到:1054未知列 'Citante.cliente_id' 在 '字段列表'
SQL查詢:SELECT Citante
。 cliente_id
從conciliacion
。 clientes
AS Citante
WHERE Citante
。 solicitude_id
=「1」
歡迎計算器!爲了更快地獲得問題的答案,如果您可以共享您目前嘗試使用的代碼,那將是非常好的。 –
請將代碼放在您的問題中並進行格式化。它在評論中不可讀。 – nIcO
現在是OK格式化.. –