![](/img/trans.png)
[英]How to use the cascade_delete config option in CodeIgniter Datamapper
[英]How to use datamapper in CodeIgniter
我正在尝试在CodeIgniter中使用datamapper。 我已经按照安装说明进行了设置
<?php
class Users extends DataMapper{
function Users(){
parent::DataMapper();
}
function create($username, $hashed_password, $salt, $department_id, $role_id){
$user = new User();
$user->username = $username;
$user->hashed_password = $hashed_password;
$user->salt = $salt;
$user->department_id = $department_id;
$user->role_id = $role_id;
$user->save();
}
我已经在database.php上设置了数据库信息,还自动加载了datamapper和数据库库。 这是我得到的错误:
Error Number: 1146
Table 'rpt.datamappers' doesn't exist
DESCRIBE `DataMappers`
Filename: D:\web_files\tester\php\ci_tester\system\database\DB_driver.php
Line Number: 330
我错过了什么?
我认为您在示例中某个地方的类名错误,您的类称为“ Users”,但在创建方法中,您将其称为“ new User”。
错误消息“表'rpt.datamappers'不存在”实际上来自您的数据库。 看起来,生成表名的自动向导使用了错误的类名(DataMapper)而不是“ User(s?)”,请尝试将表名显式设置为您的DataMapper后代类,以确认:
class Users extends DataMapper{
public $table = 'users';
// ...
}
同样,如果只想委托给父构造函数,则不要用自己的构造函数覆盖它,特别是如果您不保留方法的签名。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.