问题标签 [yii-cmodel]
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 - CModel vs CFormModel vs CActiveRecord
我正在 yii 中构建一个数据库密集型应用程序。所以性能和安全自然是一个值得关注的问题。除此之外,表单验证也是一个主要标准。为了安全起见,我计划对所有 Sql Queries 使用参数绑定。对于验证,我想使用 Yii 提供的验证器,而不是推出我自己的 . 我知道性能会受到 CActiveRecord 的影响。所以我计划为我的所有表创建 Cmodel 类,在这些各自的模型中定义验证规则,并定义函数来执行用于检索和插入数据的 sql 查询。我在网站上收集的所有数据主要是通过表单(大约 95%),如果我使用 Cformmodel ,我真的不明白 Cmodel 和 Cformmodel 之间的区别,使用其中任何一个是否会影响性能。
另外,为了防止 XSS 攻击,我想使用 HTML purify 包装器作为验证规则,因为我几乎在所有地方都读到这个包装器的性能很差,即使我将它用作验证规则,它会不会很糟糕?即使我正在净化输入,我是否应该使用 Chtml::Encode 显示我的输出文本?
我处理数据的粗略计划是:
php - 在 Yii 框架中,如何组合列并在下拉列表中显示为显示字符串
我的视图中有一个dropDownList
,它是从表中填充的clients
,该表包含诸如first_name
,等列last_name
,id
现在我想将first_name
andlast_name
显示为显示文本和id
下拉列表中的值,我完成了id
as value 和first_name
as显示文本,但在这里我想组合这些列(first_name
和last_name
)并用作显示文本。
在模型中
在视野中
php - MVC 模式在事务中保存多个模型的常用做法
我想在一个事务中保存两个模型,但它将用于多个视图。
我应该将该交易放在其中一个模型中吗?或者我应该以某种方式重用控制器动作?
在这种情况下,MVC 模式的最佳实践是什么?
注意:我的视图由多个模型组成。
php - Yii:遵循严格的 MVC 规则,确保所有业务逻辑都在适当的位置
坚持 Yii 中的 MVC 基础知识,我试图将我的业务规则嵌入到模型类中,但在实现它时遇到了问题。手头的问题是阻止用户创建重复条目并在模型类中编写函数来检查表中是否已经存在该条目。我想在我的模型类中编写一个方法来查询相同模型的基础表,如果新的业务实体存在,它只会返回 false。如果我在控制器中对此进行编码,我可以实现所需的功能,但我想将其保留在模型中,以便无论在何处使用该模型,我都可以访问该方法并坚持 MVC 基础知识,它规定了瘦控制器和厚模型。提前致谢。
php - 设置静态模型 CModel 的属性
我正在修改依赖于 CActiveRecord 的现有功能代码。我现在连接到 sybase,它没有模式驱动程序,所以我用 CModel 而不是 CActiveRecord 重写。我的问题可能是我不理解这个通用的 OOP 概念?
原文:MyModelController.php
指代::model()
不再有效...因为我相信此方法仅在基类为 CActiveRecord 时有效。
既然 MyModel 是基于 CModel 的,我该如何设置它的场景属性,就像我在基类是 CActiveRecord 时所做的那样?
php - Yii Lazy Loading 通过表/模型获取值
在 Yii 中,我设置了一个使用 through 选项的关系。
我像这样访问它:
当我想访问用户模型中的值时,效果很好。但是当我尝试访问 EnvironmentUsers 模型中的值时,它会抛出通知值找不到。
我的问题是,当在 Yii 中懒加载时,我怎样才能访问 through 表中的值?
php - 在 Gii 上添加 where close 生成的 CRUD
我是 Yii 的初学者,我使用 GII 创建了一个 CURD 表。一切正常,但我只想通过放置 where 子句(例如“客户性别为男性”)从数据库中获取某些记录。我无法在 Gii 生成的代码中找到从数据库中获取数据的位置以及我需要的位置在代码中插入 WHERE 子句。
如您所知,Gii 生成的模型、控制器和视图文件。模型文件如下。我的视图使用 CGridView 生成 CRUD 表。
php - Yii 制作一个无法保存的模型实例
假设我有一张Widget
桌子和与之配套的 Yii 模型类。
我希望能够实例化它($tempWidget = new Widget
)但以某种方式确保它不能保存到数据库中。我想只为用户使用模型来测试东西,模拟......
显然,我可以避免调用$tempWidget->save()
,但我想要某种标志,以防止保存保存,以防代码的其他部分尝试这样做。
php - Yii 已加入表但未检索到所有选定数据
我的控制器中有以下标准。
然后在我看来,我试图通过执行以下操作来检索所有选定的数据:
但在结果中,我可以看到第二个和第三个表中没有数据。第一个表的数据已成功检索,但是我无法显示另一个表的数据。
谁能告诉我我做错了什么?
php - MVC ORM 和用户相关数据
Yii 提供基于 ORM 的开发,可以正常开发。我的问题是,在我的应用程序中有很多与用户相关的数据,例如用户信息、用户设置、用户偏好等。这里的用户是指当前登录的用户。
如果某处我需要用户的背景图片设置,我会执行以下操作
我在需要背景图像的应用程序的其他地方重复同样的事情。意味着再次创建 $user 的实例,我认为这不是一个好方法。那么,有没有一种方法我们不需要一次又一次地实例化用户类???请记住,我不喜欢会话方法。