То, что я пытаюсь сделать, это создать новую учетную запись пользователя. вход, теперь у меня есть некоторые из этих рабочих, но, похоже, не может спасти мою компанию в том, как говорят новые документы.CakePHP 3.0 Сохранение моих связанных данных
Теперь я не уверен, что я просто не понимаю документы на сайте CakePHP, но я не могу сохранить связанные данные в новую таблицу, а затем получить свой идентификатор, который будет помещен в таблицу моих пользователей.
Так что мой код
public function add() {
$this->loadModel('Companies');
$user = $this->Users->newEntity();
// $company = $this->Companies->newEntity();
if ($this->request->is('post')) {
//$company = $this->Companies->patchEntity($company, $this->request->data['company']);
$user = $this->Users->patchEntity($user, $this->request->data, [ 'associated' => 'Company.name' ]);
//debug($company);
debug($this->Users->save($user));
die();
if ($this->Companies->save($company)) {
debug($company);
debug($user);
die();
if ($this->Users->save($user)) {
$this->Flash->success('The user has been saved.');
return $this->redirect(['action' => 'index']);
} else {
$this->Flash->error('The user could not be saved. Please, try again.');
}
} //End of 'save' for company name
}
$userlevels = $this->Users->Userlevels->find('list', ['keyField' => 'id', 'valueField' => 'usertitle']);
$this->set(compact('user', 'userlevels'));
$this->set('_serialize', ['user']);
}
МОЯ база данных, которая является MySQL, имеет таблицу пользователей с полем «company_id» в нем. Таким образом, я сделал тест и взял название компании, которое вводит пользователь в мою форму, и сохраните ее, если я отлаживаю, что он сохраняет все в порядке и возвращает мне новый идентификатор сохраненных данных в разделе properties
.
Но из того, что я читал, я мог бы сэкономить, что в пределах моего пользователя сохранить? Я все еще добавил модель компаний, не уверен, что мне это нужно?
Но когда я отлаживаю сохранение пользователю, он сохраняет пользователя, но не новую компанию?
Я могу опубликовать другие данные, если необходимо, но этот код, как только что был отредактирован немного от того, что торчит пирог. Я изменил форму ввода в моей компании на $this->Form->input('company.name');
Таким образом, конечная цель заключается в том, чтобы сохранить данные пользователя в новом пользователе и сохранить название компании в новой записи компании.
Так что я делаю неправильно?
Пожалуйста, будьте добры, когда читаете мой вопрос, я дислексичен, поэтому я, возможно, не объяснил все правильно, пожалуйста, скажите мне, нужно ли мне пересказывать, расширять то, что я сказал, большое спасибо за понимание. ...
вы также можете использовать '$ this-> loadModel ('Пользователь')' в контроллере, а затем использовать '$ this-> Users' переменный –