使用cakephp仅插入数据库的两列
inserting only in two columns of database using cakephp
我有大约 30 40 列,但只插入 2 列进行练习。
现在这就是我插入数据库的方式。
UsersTable.php
public function createUser($data)
{
$usersTable = TableRegistry::get('users');
$user = $usersTable->newEntity();
$user->first_name = $data['first_name'];
$user->first_name = $data['first_name'];
$usersTable->save($user);
}
并在控制器中UsersController.php
function signUp()
{
if($this->request->is('post')){
$data['first_name']='test first name';
$data['last_name']='test last name';
$this->Users->createUser($data);
}
else{
$this->viewBuilder()->Setlayout('signup');
}
}
一切顺利,但我怀疑这是不是一个好方法?
如果我必须插入 15 列,所以我必须像这样在模型中提及每个 entity
怎么办?
$user->first_name = $data['first_name'];
$user->first_name = $data['first_name'];
有一种方法可以将数据修补到实体中,这样您就不必自己动手了:patchEntity()
patchEntity
检查传递的数组并将值分配给实体的相应键。
所以不用做
$user = $usersTable->newEntity();
$user->first_name = $data['first_name'];
$user->first_name = $data['first_name'];
$usersTable->save($user);
你可以简单地做
$user = $usersTable->newEntity();
$usersTable->patchEntity($user, $data);
$usersTable->save($user);
如解释的那样here
你可以做的更简单
$user = $usersTable->newEntity($data);
$usersTable->save($user);
通常$data
来自请求查询子你甚至不必自己创建数组
在控制器中:
$user = $usersTable->newEntity($this->request->data());
我有大约 30 40 列,但只插入 2 列进行练习。
现在这就是我插入数据库的方式。
UsersTable.php
public function createUser($data)
{
$usersTable = TableRegistry::get('users');
$user = $usersTable->newEntity();
$user->first_name = $data['first_name'];
$user->first_name = $data['first_name'];
$usersTable->save($user);
}
并在控制器中UsersController.php
function signUp()
{
if($this->request->is('post')){
$data['first_name']='test first name';
$data['last_name']='test last name';
$this->Users->createUser($data);
}
else{
$this->viewBuilder()->Setlayout('signup');
}
}
一切顺利,但我怀疑这是不是一个好方法?
如果我必须插入 15 列,所以我必须像这样在模型中提及每个 entity
怎么办?
$user->first_name = $data['first_name'];
$user->first_name = $data['first_name'];
有一种方法可以将数据修补到实体中,这样您就不必自己动手了:patchEntity()
patchEntity
检查传递的数组并将值分配给实体的相应键。
所以不用做
$user = $usersTable->newEntity();
$user->first_name = $data['first_name'];
$user->first_name = $data['first_name'];
$usersTable->save($user);
你可以简单地做
$user = $usersTable->newEntity();
$usersTable->patchEntity($user, $data);
$usersTable->save($user);
如解释的那样here
你可以做的更简单
$user = $usersTable->newEntity($data);
$usersTable->save($user);
通常$data
来自请求查询子你甚至不必自己创建数组
在控制器中:
$user = $usersTable->newEntity($this->request->data());