CakePHP 3.x-add()函数抛出错误
有桌子 我的数据库中的用户地址包含:CakePHP 3.x-add()函数抛出错误,php,cakephp,entity,Php,Cakephp,Entity,有桌子 我的数据库中的用户地址包含: id | user_id | adress_id 函数添加到my AdressesUsersController.php public function add() { $adressesUser = $this->AdressesUsers->newEntity(); if ($this->request->is('post')) { $adressesUser =
id | user_id | adress_id
函数添加到my AdressesUsersController.php
public function add()
{
$adressesUser = $this->AdressesUsers->newEntity();
if ($this->request->is('post')) {
$adressesUser = $this->AdressesUsers->patchEntity($adressesUser, $this->request->data);
if ($this->AdressesUsers->save($adressesUser)) {
$this->Flash->success(__('The adresses user has been saved.'));
return $this->redirect(['action' => 'index']);
} else {
$this->Flash->error(__('The adresses user could not be saved. Please, try again.'));
}
}
$this->set(compact('adressesUser'));
$this->set('_serialize', ['adressesUser']);
}
获取此错误
错误:调用布尔文件C:\xampp\htdocs\uh\src\Controller\adresesserscontroller.php上的成员函数newEntity()
我烘焙了控制器和模型-这样我就不会出错。我有一个工作应用程序,我在其中进行了比较-似乎是合法的:/ 编辑: 试试这个
public function add()
{
$this->loadModel('AdressesUsers');
$adressesUser = $this->AdressesUsers->newEntity();
if ($this->request->is('post')) {
if ($this->AdressesUsers->save($this->request->data)) {
$this->Flash->success(__('The adresses user has been saved.'));
return $this->redirect(['action' => 'index']);
} else {
$this->Flash->error(__('The adresses user could not be saved. Please, try again.'));
}
}
$this->set(compact('adressesUser'));
$this->set('_serialize', ['adressesUser']);
}
为什么我必须加载模型?这不应该包括在我的控制器中吗?o、 o我现在有一个视图-没有用户和地址列表。它应该在控制器的beforeFilter函数中,或者如果它不在那里,那么你需要将它添加到这里,因为你的错误表明你缺少模型。所以,我给你提供了这个。也许表名与控制器名不匹配,你能发布表对象定义吗?@RohitAilani否,实体类名称按惯例是单数的。是的。所有其他实体也是单数的。@RohitAilani,不,enity是单数的。他还说,这一准则已经过时了。也许清除缓存会有所帮助?
false
由magic getter返回,以防属性名和($this->modelClass
的类部分)不匹配。
/**
* AdressesUsers Controller
*
* @property \App\Model\Table\AdressesUsersTable $AdressesUsers
*/
public function add()
{
$this->loadModel('AdressesUsers');
$adressesUser = $this->AdressesUsers->newEntity();
if ($this->request->is('post')) {
if ($this->AdressesUsers->save($this->request->data)) {
$this->Flash->success(__('The adresses user has been saved.'));
return $this->redirect(['action' => 'index']);
} else {
$this->Flash->error(__('The adresses user could not be saved. Please, try again.'));
}
}
$this->set(compact('adressesUser'));
$this->set('_serialize', ['adressesUser']);
}