我正在使用codeigniter 4,我有两个不同的“表单”(视图中的两个不同文件)现在我正在尝试将“第二个表单数据”(第一个表单数据已经成功提交)保存到数据库(表名为“additional_info”,列/字段(ID,user_id,地址,性别),我如何做到这一点?简而言之,我想知道以下的事情
1.假设我在管理面板上工作,我必须保存多个表单数据,那么我应该为此创建不同的多个控制器或模型吗?
1.如果没有,那么我们如何用单个控制器和单个模型管理多个表单呢
以下是我在“routes”中的当前代码。php”
$routes->post('addnewuser', 'STD::adduser2');
下面是我的控制器代码
public function adduser2()
{
$userModel = new UserModel();
$result = [
'name' => $this->request->getVar('name'),
'gen' => $this->request->getVar('gen'),
'dob' => $this->request->getVar('dob'),
'email' => $this->request->getVar('email'),
'pwd' => md5($this->request->getVar('pwd')),
];
$save=$userModel->insert($result);
}
下面是我的模型文件代码
namespace App\Models;
use CodeIgniter\Model;
class UserModel extends Model
{
protected $table2 = 'users';
protected $primaryKey2 = 'id';
protected $allowedFields2 = ['email', 'password']; // first table
protected $table2 = 'additional_info';
protected $primaryKey2 = 'id';
protected $allowedFields2 = ['user_id', 'address', 'gender']; // second table (trying to insert data)
}
1条答案
按热度按时间3phpmpom1#
请阅读本文档以了解有关DRY编码的各种可用选项的详细信息。
使用占位符路由,如下所示。
在您的控制器中使用如下。