Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用ORM风格在CodeIgniter中编写一个模型类_Php_Codeigniter - Fatal编程技术网

Php 用ORM风格在CodeIgniter中编写一个模型类

Php 用ORM风格在CodeIgniter中编写一个模型类,php,codeigniter,Php,Codeigniter,我曾考虑过使用一种类似ORM的理论,后来我发现它的下载链接甚至被破坏了……所有在线教程都可以追溯到2011年。我还得写yaml文件 然后我开始尝试用ORM风格编写自己的模型类 我只是用字段填充它并将其保存到数据库中,这很简单 但我在尝试从数据库检索数据时遇到了一个问题 我知道通常在CodeIgniter中,您返回$query->result(),以及ORM custom,我试图返回一个对象……有什么方法可以做到这一点吗?我应该使用什么功能 获取一个表示类的字符串,该类将实例化并分配结果数据(每

我曾考虑过使用一种类似ORM的理论,后来我发现它的下载链接甚至被破坏了……所有在线教程都可以追溯到2011年。我还得写yaml文件

然后我开始尝试用ORM风格编写自己的模型类

我只是用字段填充它并将其保存到数据库中,这很简单

但我在尝试从数据库检索数据时遇到了一个问题

我知道通常在CodeIgniter中,您返回
$query->result()
,以及ORM custom,我试图返回一个对象……有什么方法可以做到这一点吗?我应该使用什么功能

获取一个表示类的字符串,该类将实例化并分配结果数据(每个字段作为对象的属性):


关于您的评论,我非常确定您将传递到
result
方法。它看起来只是实例化了它,并为从db返回的每个列/值设置属性和值:

$this->custom_result_object[$class_name][$i] = new $class_name();

foreach ($this->{$_data}[$i] as $key => $value)
{
    $this->custom_result_object[$class_name][$i]->$key = $value;
}

一个与codeIgniter配合得很好的ORM是基于离线活动记录模型的

您试图复制“通过电子邮件搜索”的功能是通过

Late static binding method.
因此,您可能会看到这样调用的函数:

Object::find_by_email()

Object::search_by_email()

我以前不知道这个。快速问题:CodeIgniter是否使用字段读取我预先建立的用户类,并使用$query result填充这些字段?CodeIgniter如何知道哪个数据库字段与我的类中的字段相对应?您可以通过Sparks成功地安装它吗?似乎我的不起作用(安装后…)我实际上非常努力地让php activerecord工作…我使用Spark从autoload“$autoload['sparks']=array('php-activerecord/0.0.2');”安装并加载它,并尝试测试它是否与“echo'”;var_dump(test::all());exit;“我的页面上没有显示任何内容。”(是的,我已经创建了一个测试模型文件)您是否在core中包含了加载程序文件/它现在可以工作了!不是很符合我的想象-我仍然需要手动创建数据库表,但感谢您的帮助。
Late static binding method.
Object::find_by_email()

Object::search_by_email()