问题标签 [codeigniter-4]
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 4 正在将记录重写到表中
我正在将记录发布到表中,但我不明白为什么要再次尝试发布相同的记录。我收到错误消息
键“PRIMARY”的重复条目“20200406110039232385”
我的调用链如下
控制器->方法()>>>库->方法()>>>模型->方法()。
Controller->method() 在调用 Library->method() 之前首先生成/实例化一个 Library 对象。类似地,Library->method() 在调用之前首先生成/实例化一个模型对象。
我在库中引入了一个私有变量$counter
,我在构造函数中对其进行了初始化,0
并在库方法调用模型方法之前将以下代码插入到库方法中
查看重复帖子是否来自图书馆。
输出是
<< 尝试次数 = [1] >> << 尝试次数 = [1] >>
这意味着重复来自控制器。调用 Model->method() 的库对象是不同的对象。我们应该得到
<< 尝试次数 = [1] >> << 尝试次数 = [2] >>
如果它是同一个对象。
但我只在 Controller->method() 中对 Library->method() 进行了一次调用。
问题是什么?
codeigniter-4 - CodeIgniter 4:如何保护 .env 不被公众看到?
我已经在 .env 文件中配置了数据库凭据。但我可以从浏览器访问文件 .env 文件,它会显示 .env 文件中的所有变量。
如何使其安全,使其不公开阅读?
我的文件夹结构是这样的:
该应用程序是从 domain.com/project/public 访问的。
codeigniter - 实体保存到数据库错误的日期格式codeigniter 4
我的实体如下所示:
保存时,模型会为 sql 查询生成 'Y/m/d' 格式的日期字段,但是我的数据库无法解析这个。调用时如何强制它以“Ymd”格式生成日期$myModel->insert($myEntity)
?
codeigniter - 如何在 CodeIgniter 4 中使用子目录控制器?
我需要在 CodeIgniter 4 中使用子目录控制器的帮助。
由于某种原因,我无法让它工作。
这是例如 URL:www.example.com/admin/dashboard
在控制器文件夹中,我创建了一个名为 的文件夹Admin
和一个名为Dashboard.php
.
我在以下代码中使用了此代码Dashboard.php
:
我尝试将类名更改为AdminDashboard
, Admin_Dashboard
,几乎每个逻辑名称,但每次我收到 404 错误时,都会说:
找不到控制器或其方法:App\Controllers\Admin\Dashboard::index
我知道文件本身已成功加载,但我认为我没有正确声明类名并且它不断向我抛出那些 404 错误。
不幸的是,CI4 的文档没有提供任何关于类名应该叫什么的信息......
更新#1
我设法通过改变一些事情使它工作:
但现在它不会扩展BaseController
我为我的应用程序构建的一些核心功能。
关于如何使其扩展的任何想法BaseController
?
我必须承认我对命名空间的了解不多,所以这可能是我犯错误的原因。
php - 如何在 CodeIgniter 4 中保存到数据库后获取插入 ID
我正在使用 Codeigniter 4。
并像这样插入新数据,
这里提到:CodeIgniter's Model reference
它正在插入。但我还没有找到任何关于在插入后获取插入 id 的参考。
请帮忙!提前致谢。
codeigniter - 通过 CI4 控制器设置 .env 文件
我是 CI4 的新手,我想通过 CI4 创建设置数据库,可以通过控制器或某些服务 CI4 将 db 连接数据写入 .env 文件吗?还希望在 .env 中完成设置更改环境时,用户无法访问设置。如果它的解决方案不正确,有人可以告诉如何做到最好吗?
我使用 CI 4.0.2
php - Codeigniter 4:创建模块
我正在尝试在 Codeigniter 4 中创建模块以使用 HMVC。我尝试遵循此用户指南https://codeigniter4.github.io/userguide/general/modules.html,但无法使其正常工作。
我在应用程序、公共等文件夹旁边创建了一个“模块”文件夹。
添加到app/config/autoload.php
在模块文件夹中,我创建了一个“Proef”文件夹,其中包含一个 Controllers 文件夹和“Proef.php”文件。
该文件包含以下内容;
在app/config.routes.php
我添加的文件中
然而,以下错误仍然存在:找不到控制器或其方法:\Modules\Proef\Controllers\Proef::index
我错过了什么?
php - 尝试在 Codeigniter 4 中启动分页时返回错误
我正在尝试根据文档在 Codeigniter 4 中启动分页功能。
我的控制器代码如下:
但是,在运行此程序时,我收到以下错误:
Argument 1 passed to CodeIgniter\Database\BaseResult::getResult() must be of the type string, null given, called in xxxx/app/vendor/codeigniter4/framework/system/Model.php on line 44
7
这是我的模型
任何解决此问题的帮助将不胜感激。
codeigniter - 会话变量未在 Codeigniter 4 中显示
在 codeigniter 4 中,我尝试使用 ; 打印视图中的会话变量$session->get('item')
;还有$session->item
,但不幸的是它不打印。但是使用$_SESSION
全局变量打印相同的变量。任何人都可以指导如何在视图中使用$session->get('item')
;或$session->item
。
会话变量通过两种方法在控制器中打印$session->get('item')
;和$session->item
。
php - 我该如何解决这个“找不到对象!” CodeIgniter-4 中的错误?
我检查了控制器名称和方法名称,但仍然显示“在此服务器上找不到请求的 URL。如果您手动输入了 URL,请检查您的拼写并重试。”
我已经尝试了下面给出的这个 url 并得到了这个错误:
Controller名称下的文件是:Helloworld.php