问题标签 [codeigniter-datamapper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
953 浏览

php - 验证更新 DataMapper ORM CodeIgniter 的数据

我是 CodeIgniter 中 DataMapper ORM 的新手,这是我的问题。根据手册:

小心这种方法。无需使用 where 语句或类似方法对其进行限制,它将修改表中的每一行!

另外,这种方法绕过了验证,也可以对表内的外键进行操作,所以请注意风险。

如果更新方法绕过验证,那么在更新之前更新记录验证它的方法是什么?示例代码将不胜感激。

0 投票
1 回答
509 浏览

mysql - 将使用 ISNULL 的 SQL 查询转换为 Datamapper ORM for Codeigniter

我有 3 个 mySQL 表:user、section 和 user_section(连接表)。

下面的SQL:

很好地产生了以下结果:

我的视图中有一个表单来编辑用户及其所属的部分。我正在像这样写出复选框($user_sections 包含上述数据):

我的问题是:

有没有更好的方法来编写 sql 查询?或者是我有什么好的/获得我想要的数据的唯一方法?

我想使用 Datamapper ORM 来编写查询。到目前为止我有这个...

ISNULL 之前的 NOT 用单引号转义,防止查询是正确的 sql。如何在 Datamapper 中正确编写它?

非常感谢任何改进建议。提前致谢。

编辑:

我找到了一个可行的解决方案 - 这是我的 Datamapper 代码:

它产生与我答案顶部的 sql 相同的数据。然而,它确实使用了更多的数据库查询(我希望在一个数据库查询中做到这一点)。

谁能为我确认我在这里做了最好的事情?

谢谢!

0 投票
1 回答
473 浏览

php - Codeigniter Datamapper 多对多列表

我有 2 个多对多关系表;帖子和类别。一篇文章可以有多个类别。我的问题是如何显示帖子列表及其类别?

像那样:

我的帖子 1 (cat1, cat2, cat3)
我的帖子 2 (cat2, cat3)
我的帖子 3 (cat1)

我试过这些方法;

不喜欢这样,因为如果我有 30 个帖子,那么在每个帖子循环中再次进行查询并一次又一次地查找类别。

并尝试了这个:

这更接近,但这个问题是我设置了限制get(30),所以如果我的每个帖子有 2 个类别而不是显示 15 个帖子 + 15 个类别。

多对多上市的真正方法是什么?

0 投票
2 回答
1065 浏览

php - Codeigniter Datamapper 从 Post Data 中设置对象属性

有没有办法自动/动态地设置数据映射器对象的所有属性,而不是一对一地分配它们?

所以我的表单字段名称与数据映射器模型中的属性完全相同。

那么有没有更短的方法来做到这一点:

0 投票
2 回答
500 浏览

codeigniter - DataMapper CodeIgniter 一对一关系

我正在尝试使用这样的东西:(我需要拆分用户表)

我的问题来自 table users_infos。没有Id字段,我无法使用 save 方法进行更新。我尝试将列重写为user_idid但随后我从DataMapper. 解决此问题的最佳方法是什么?

0 投票
1 回答
469 浏览

php - Codeigniter Datamapper 多对多关系

我正在使用 DataMapper 在我的模型中建立关系,但我碰壁了。

我有一个RealEstate班级,一个Client班级和一个Position班级,它们都有多对多的关系。

  1. Client可以让Position“买家”在RealEstate
  2. 同样Client可以Position在另一个中拥有“卖家”RealEstate

因此,对于一个给定RealEstate的,很容易找到所有Clients附加到它的 s,但我怎样才能包括Position那些客户对特定的 s 的内容RealEstate

0 投票
1 回答
677 浏览

php - CodeIgniter/Datamapper:同一个表的两个一对多关系不起作用

我在与 Codeigniter 的DataMapper的关系中遇到了这个问题。我有一个Interview模型,它有一个author_id和一个interviewee_id。它们都与用户模型中的用户 ID 有关。

我一直在尝试几种方法,但都没有奏效;这就是我现在所拥有的:

如何让 DataMapper 知道一种关系将通过author_id,而另一种关系将通过interviewee_id

0 投票
2 回答
1551 浏览

php - CodeIgniter 和 DataMapper

我在这里阅读了一些不同的帖子,但我无法弄清楚我做错了什么。

我的数据库设置如下:

然后我的模型看起来像这样,浓缩。

然后我的控制器使用以下内容:

如果我注释掉这两行,我会得到标准的 CI 返回数组。

如果我不这样做,我会收到服务器错误。这是我第一次使用 DataMapper,我几乎可以肯定我做错了一切,但不知道从哪里开始。

更新:

我想出了我的问题。我必须将数据库表更改为address我必须addresses在我的address.php模型中指定var $table = 'addresses';

这解决了一切。

0 投票
1 回答
1150 浏览

php - 多对多 DataMapper CodeIgniter

我被困住了,阅读文档似乎并没有帮助我。

我有一对多的关系,尽管我确信有一种更简单的方法,但当涉及到多对多的关系时,我被卡住了。

我已经尝试了很多东西,但基本上我有三个表:

我已经用很多不同的方式设置了我的模型。

和基本版

问题是我不知道如何获取与家庭关联的多条记录。

我最终得到一个项目而不是一组项目。

示例输出:

我想得到

0 投票
2 回答
662 浏览

codeigniter-datamapper - 在数据映射器 ORM 中保存多对多关系 - Codeigniter

我是初学者。在这里我想问大家,我怎样才能将多对多关系保存到三个表(表A,表Ab,表B)中?现在我正在尝试将具有新 ID 的新记录保存到表 A 中,并且我有一些表 B 的 ID,我想将它们保存到中间表 AB 取决于表 A 的 ID。如果有人有这方面的经验,请请分享。例子: