另一個表的數據我有這些表的CakePHP:更新更新
用戶表:
id lastname firstname email company city phone
1 Doe John [email protected] somecompany New-York 85505040
公司表:
id name adress city phone
1 somecompany 1881 Paper Street New-York 85505042
2 anothercompany 18 Digital Street New-York 87505040
companies_users表:
id user_id companies_id
1 1 2
當我更新了一個用戶(changi在他們所屬的公司中),companies_users表更新了companies_id。 cakephp應用程序是我插入的東西,所以我沒有輕鬆找到所有東西。
我想補充的是,當我更改公司表中的內容時,能夠更新用戶的公司:如果更改了名稱,我希望名稱在用戶表中更改。
CompaniesController編輯:
public function edit($id = null){
$companie = $this->Companies->get($id);
if ($this->request->is(['post', 'put'])) {
if ($this->Companies->save($companie)) {
$this->Flash->success(__('Your company has been updated.'));
return $this->redirect(['action' => 'index']);
}
$this->Flash->error(__('Unable to update your company.'));
}
}
UsersController編輯:
public function edit($id = null){
$user = $this->Users->get($id);
if ($this->request->is(['post', 'put'])) {
$user = $this->Users->patchEntity($user, $this->request->data,['associated' => ['Companies']]);
if ($this->Users->save($user)) {
$this->Flash->success(__('Your user has been updated.'));
return $this->redirect(['action' => 'index']);
}
$this->Flash->error(__('Unable to update your user.'));
}
$this->set('user', $user);
$companies = $this->Users->Companies->find('list');
$this->set(compact('companies'));
}
爲什麼有公司名稱的用戶表開始?聞起來不夠正常化。 – ndm
@ndm好耶,有一些問題的東西。我與公司名稱一致,但如果我要顯示我的表格,我需要獲取公司名稱,所以我不知道。實際上,我在我的用戶表中添加了一個company_id列,但不知道如何在顯示屏中收集名稱而不是想法 –
ndm是正確的,如果您的模型已正確關聯,則自然會檢索公司信息(如名字),當你得到一個用戶時,不需要重複數據。你的手上有一個結構嚴謹的數據庫,問題不在於蛋糕。 –