问题标签 [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.
php - CodeIgniter and ORM (datamapper)
i'm new to php and codeigniter but i have experience with pylons and sqlalchemy.
there you define model classes and then you use command something like "paster setup-app development.ini" and (paster?) creates tables for you and you dont have to write any sql code...
i was trying this with codeigniter and datamapper but so far i'm not sure if it is possible. so here i am asking you if it is possible?
i am very confused because in "models/" you can put your own classes (like in sqlalchemy). in these classes you define every attribute, relationship and other stuff. so why would you need to write the same thing 2 times? (1st in this class 2nd in sql script)
php - CodeIgniter 和 DataMapper ORM
我正在使用示例错误应用程序中的基本登录管理器,但我的主管理控制器现在有大约 25 个函数,并且在我需要调用的每个函数的开头
是否有一种简单的方法可以在每个函数中自动完成此检查,或者我是否必须沿着 MY_Controller 路由然后从中继承。
我当前的构造函数看起来像这样
php - 如何在基于 FK 关系的 DataMapper PHP 构造函数中水合自定义属性
所以我有两个对象。
和
我最终想要完成的是Product->$averageRating
使用基于与 ProductRatings 的 FK 关系的平均评级来填充属性。
我的第一个想法是访问关系,根据 ProductRating 行数进行数学运算,然后在构造函数中填充属性。但是我什至在访问构造函数中的对象时遇到了问题。这让我相信我可能会以错误的方式解决这个问题。如何使用 DataMapper 实现这一点?
我知道数学可以在视图页面中完成,但如果可能的话,我真的很想将它保留在模型中。
codeigniter - CodeIgniter 如何使用 database.php 连接多数据库进行第一次连接和 Model 进行第二次连接
我有很多数据库连接我在 database.php 文件中有主要连接
而且我有更多的连接..但我必须使用 [模型]配置另一个连接
我可以将参数传递给 database.php 吗?
或者我可以把这个代码放在模型中吗
codeigniter - 连接数据库 CodeIgniter
我需要为许多数据库连接 database.php 中的主要连接,这没有问题
但另一个连接必须在模型中
我用这个类
但连接不工作它仍然与主数据库连接
错误号:1146 表“countries.ci_users”不存在
注意:我不会使用 database.php 文件中的另一个连接,因为我有超过 100 个连接
php - CodeIgniter DataMapper 慢吗?
我一直在使用 Codeigniter 研究关系数据库,发现 DataMapper 对于严肃的项目毫无用处。Codeigniter 的活动记录没有用,因为它也没有提供多对多或一对多的方法。DataMapper 速度慢且不可配置!
- 当您查询时,它将整个表加载到一个对象中。
- 当您第一次输入“A”第二次输入“A”时,数据库中将有 2 个 As。它没有像 SQL 这样的 Ignore 选项。您必须查询一个项目以查看它是否存在,如果不存在,则插入它。
- 他们为它做了很多编码,但它似乎对建立一个庞大的数据库没有任何好处
- 查询速度不快。
这似乎是社区之间的共识。是否推荐在php中使用纯mysql对多对多和一对多进行操作?还是你认为我错了!请随时给我建议。我的问题是,作为一名专业的网页设计师,你用什么来做你的数据库?
php - Datamapper ( city ) 中的表名错误
我有一个名为 City in datamapper for codeigniter 的模型。我将表的名称保留为“城市”,因为 datamapper 需要复数形式的表名称。现在,当我在控制器中为模型创建对象时( $c = new City(); );我收到以下错误:在第 61 行调用 C:\wamp\www\project\application\controllers\userhome.php 中非对象的成员函数 where()。
这是我用过的模型
正如您在模型中看到的那样,我尝试将表名分配给现在我已经评论过的变量。我也得到了错误。
这些是我在控制器中使用的代码。
请帮帮我。提前致谢...
php - 数组被php中的最后一个元素覆盖
存储的结果$g
是 1 和 2。我在下面编写的以下代码,我$array['music']
只存储最后一个元素 2。但我想要的是在 foreach 下执行我的 sql 查询 2 次并匹配其值为$g
1和2 mu_id
(mu_id
是另一个表的列名music
)并将第1行和第2行的所有行数据存储到$array['music']
。
它仅存储第二行 (2) 而不是 1,或者在循环内第二次执行时覆盖它。如果有任何逻辑使它起作用,请告诉我。
php - 避免重复数据映射器代码点火器中的数据库记录
我的问题只是如何将数据插入连接表(user_book)而不在主表(book)中插入重复条目。
主要考虑我们有下面的树表
但问题是当我插入 Books 表中存在的新书(例如 Mike,如 B3)时。副本将出现在 books 表中,上表如下:
现在我要解决的问题有意义吗?或者也许我根本没有唯一的书籍清单?
如果我要插入鉴于数据库用户和书籍用户<--->书籍与 users_books 相关,我们需要确保当我们将书籍记录插入数据库时它不是重复的。此外,如果书存在,则将插入关系而不是书记录。怎么可能做到这一点?一种方法是说
if (book->exist) in the "books" table 然后检查关系,看看用户和书籍之间是否存在关系,如果存在则不要插入它。此外,我是否需要更改 mysql db 结构中的任何内容以避免这种情况。
上面的代码不起作用,但应该让我知道我在说什么。
更新:
总之,如果两个用户喜欢同一本书,我只想在连接表 (users_books) 中插入一条记录(book),而不是在表中创建新记录。使用唯一 sql 标记不起作用,因为它保留唯一列表,但它阻止将多个关系插入连接表 users_books。
php - 如何使用Datamapper计算Codeigniter中查询返回的行数
我在 codeigniter 的控制器中使用以下查询。
在上面的代码中,“$u”是数据映射器“User”的类“User”的对象名称,其中我的数据库中的表名是“users”。我想看看执行查询后返回了多少行。即使用户名和密码不匹配,“$total”也始终显示 1。我想要的是,如果返回的行数为 1,那么“ok”,否则“有问题”。我知道它的基本知识,但如果有人知道它,请帮助我。提前致谢。