问题标签 [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.
model - $model->save() 不使用实体
我正在慢慢学习 CodeIgniter 的第 4 版,我偶然发现了一个奇怪的行为:
使用save()
我的模型的方法时,它只保存created_at
和updated_at
时间戳。
这是有用的代码。
移民
注意:它工作正常,表在数据库中正确创建,如下所示。
实体
模型
调用模型
我尝试使用下面的代码从两个不同的地方调用模型:播种机和控制器。
两次,结果都是一样的。显示echo
如下。
我不知道如何告诉我的模型(我认为这是不良行为的原因)考虑到它$allowedFields
来保存文章。
你能看出问题吗?
php - CodeIgniter 4 - Validation Custom Rule Function Quandry
In my CI4 learning, I have started by trying to simulate user sign in functionality. I have a Controller, two Views (not shown here, but really simply pages- one a pretty much just single form, and the other one a “blank” success HTML page), a set of custom rules in the Validation.php file, and a CustomRule.php file with the first of the methods that will implement all my custom rules (which, ultimately, I’d like to have all set in the Validation.php file). For lack of a better idea, I’ve stuck the CustomRules.php file in the app\Config\ folder.
Here is my problem:
For the life of me, I can’t figure out how to get the Validation service to pass additional parameters (from the form) to my custom rules function called ‘user_validated’. The CI4 documentation describes what the custom function needs to cater for when accepting additional parameters, but not how to trigger the Validation service to pass these additional parameters to one’s custom function… so although ‘user_validated’ is called, only ‘user_email_offered’ is ever passed as in as a string- nothing else goes in, from what I can tell. How do I get around this?
I have tried inserting < $validation->setRuleGroup('user_signin'); > before the call to validate, but found that I could move the setting of the rule group into the call to validate, using: $validationResult = $this->validate('user_signin'), which seemed to do the same, and which doesn't seem to work without the rule-group as a parameter (?). This still doesn't seem to be what triggers the additional data to be passed to the custom rule's method.
Extracts from my hack are appended below.
I’d be very grateful one of you knowledgeable folk could please point me in the right direction.
In app\Controllers\SignupTest.php:
In \app\Config\CustomRules.php:
In \app\Config\Validation.php:
php-7 - CodeIgniter4 模型返回数据结果
我开始涉足 CI4 的 rc... 试图成为游戏的领导者。我注意到模型被完全重写了。
通过他们的文档,我需要一些关于如何在 CI4 中启动等效数据库查询构建器的指导。
我能够利用 return $this->findAll() 等...但是,需要能够查询 w/复杂的连接,并且还能够返回单个记录等...
当尝试类似
但出现错误:
任何帮助或指导表示赞赏。
php - 路由中的 $1 返回 404 错误,而不是将 url 段传递给控制器方法
当我导航到 /public/index.php/main/anything 时,我收到此错误:
404 Controller or its method is not found: {0}::{1}
我有一个基于文档中示例的 codeigniter 4 项目(https://codeigniter4.github.io/userguide/tutorial/news_section.html)
我添加了这 3 条路线:
这里的其他设置:
当我导航到 /public/index.php/main 时,我得到了很好的索引结果。
我试过了:
main/Main::view
不超过 1 美元,它工作正常。
但是,一旦我添加 $1,我就会收到上述 404 错误。我也试过:segment
同样的结果:404错误。
我什至从来没有进入视图方法,我试图回应一些东西。
我需要代码的最后一段,因为我需要将它传递给我的模型以进行进一步处理。
此外,很高兴知道如何设置路由以摆脱 public/index.php 部分而不产生任何安全问题。
public/.htaccess 文件如下所示:
更新:我已经重新创建了演示项目,只要 Main.php 文件位于 Controllers 文件夹中,上述内容就可以工作。我的位于一个名为 Controllers/main 的子文件夹中,并且相应地设置了路由文件。因此,此代码不适用于子文件夹,如果我们想保持代码井井有条,这很糟糕。所以我欢迎解决方案。谢谢你。
codeigniter - 如何在视图解析器中访问循环项的属性?
视图解析器上的文档处理条件,但他们的示例仅处理与循环项无关的明确定义的变量。这适用于这样的情况:
因此,如果我想检查循环项目的属性值,我该怎么做?理想情况下,我希望是这样的(在这个例子中,users
是一个数组):
但是,在这种情况下,无论是否有美元符号id
,它都会抱怨该值未定义。也许类似的东西$user['id']
会起作用,但是我怎么知道 CodeIgniter 用于其内部迭代的变量的名称?
编辑 1:数据数组
php - CodeIgniter 4 重定向功能不起作用
注销后,我尝试重定向到主页。我尝试了几种方法,但没有重定向。
用于注销功能。我用了三种方式
或者
或者
php - CodeIgniter 4,辅助功能不起作用
我试图自动加载辅助函数。我在 autoload.php 中添加了帮助文件并在视图文件中调用了该函数,但它不起作用。
应用程序/配置/autoload.php
应用程序/Helpers/My_helper.php
应用程序/视图/welcome_message.php
应用程序/控制器/BaseController
codeigniter - Codeigniter4 中的重定向问题
我已经完成了管理控制器并将其放在名为“Admin”的子文件夹中
现在我想通过我写这个的路由器文件来获取它
但它向我显示“未找到”错误并重定向到"http://localhost/admin"
.
会不会有一些 .htaccess 问题?
php - CodeIgniter 4 ... documentRoot 不公开... htaccess 不工作
我开始涉足 CodeIgniter 4。完成了一个简单的应用程序。在本地,我将 documentroot 设置为 /public/,而在产品托管环境中,我无法将 documentroot 设置为 /public/。
相反,它位于 /root 中。
所以结构是这样的:
我已将 htaccess 从公用文件夹移至根级别。
和根文件中的 index.php:
此外,应用程序配置文件:
当去http://sub.domain.com时,我得到了默认的控制器和视图渲染。但是链接的 CSS 资产和 JS 资产: https ://sub.domain.com/assets/css/style.bundle.css
都会出现服务器错误。这些文件的位置实际上在https://sub.domain.com/public/assets/css/style.bundle.css
但我试图避免在 url 中使用 /public/ 。
任何帮助或方向表示赞赏。
研发