问题标签 [cakephp-model]
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.
cakephp - cakePHP Bake 和其中一个数据库表有问题
我正在使用 Bake 为我的数据库表创建模型。我遇到了一个小问题。
我有 25 张桌子....
我对模型进行分层烘焙,直到其中一个数据库表的烘焙开始为模型、文件和类赋予它自己的名称。
例如,数据库中的表名为:'risk_manager'
(它与我在烘焙时定义的其他表有关联)
然而,这个模型作为一个名为“risk.php”的文件出现,类名被称为“risk”(但它被映射到正确的表。)
为什么会这样……?
php - CakePHP 一次编辑多条记录
我在两个表之间有一个 HABTM 关系:items
并且locations
,使用该表items_locations
来连接它们。
items_locations
还存储了更多信息。这是架构
我正在尝试构建一个页面,该页面在一个位置显示所有项目,并让用户通过数据网格样式界面一次编辑多个字段:
为了解决这个问题,我有一个名为的控制器InventoryController
,它具有:
如何构建多维表单来编辑这些数据?
编辑:
我试图让我的数据看起来像下面 Deceze 描述的那样,但我又遇到了问题......
当我这样做时,$this->data
结果如下:
php - CakePHP 在两个表之间加入模型,两次
我有一个关于如何在两个模型在两个不同方面相互连接时建立关系的问题。
我将举一个我遇到的问题的例子:
(在我的情况下,不是用户也不是消息,但这希望能以更简单的方式说明问题)
用户可以互相发送消息,每个消息都有一个发送它的用户和一个接收它的用户。我试图弄清楚模型关系:
我也不确定应该如何在数据库中命名字段,以便 CakePHP 会正确地获取关系。
php - CakePHP 模型可以在不重新实例化的情况下更改其表吗?
我正在使用一个不可更改的遗留数据库模式,其中对象的每个实例在数据库中都有自己的表以及相关的记录。useTable
每次实例化模型时,我都需要更改模型,但要保留 Cake 的良好缓存等。
假设我有很多 pad 对象,每个都有几个 note 对象(Note belongsTo Pad, Pad hasMany Note)。每个 pad 在 pads 表中都有一条记录,但是每个音符在数据库中都有自己的表(比如标题为“pad_{id}”)。这个模式是固定的,我必须使用它。
现在我不需要做任何保存,所以我在模型的 before find 中执行此操作以支持阅读:
这会更改数据库中使用的模型表,并且在Core::debug > 0
. 但是,当它为零时,我认为 CakePHP 会缓存模型代码并且不会正确更改表。无论如何,当我访问 /pads/view/{pad_id} 或任何动态更改此表的操作时,我都会收到 404 错误。我无法弄清楚确切的错误是什么,因为当我打开调试时它工作正常。因此,有关调试此问题的任何指示也会有所帮助。
谢谢!
php - cakephp:从“users_controller.php”文件中的“cat”表中获取值?
我有一个表“用户”和一个控制器“users_controller.php”,我还有另一个名为“cateogry”的表,需要在“listall”操作( site.com/users/listall)中从该表中检索值。
我如何从另一个表中获取值。
php - CakePHP 为模型使用多个数据库
某些模型是否可以在一个数据库中而其他模型在另一个数据库中(使用相同的连接)?
我有许多我想在我的系统的多个安装之间共享的只读表。其他表需要按安装进行。例如,假设users
是共享表,并且posts
是按安装的。
在一个模式(我们称之为“共享”)中,我们有users
表,而在另一个模式(“mycake”)中是posts
.
我已经能够通过创建一个指向共享数据库的新数据库连接来从另一个数据库读取用户模型(尽管这两个数据库位于同一主机上并且都可以使用相同的登录详细信息进行访问)。
问题是何时加入posts
表。它不会将架构名称添加到表名称之前,因此它无法找到posts
.
所以基本上,有没有办法为模型分配一个完全限定的表名并强制它在所有查询中使用它?设置var $useTable = 'shared.users';
没用...
php - 如何在 CakePHP 中重构更好的模型函数?
我正在阅读编程最佳实践,据说在创建函数时,我们应该让它只执行一项特定任务。
我得到了检索数据及其相关数据的模型函数。例子:
$this->Student->StudentAssignments();
目前,此功能检索学生的作业以及每个作业的问题和有关学生的数据。我都使用它们。我的困境是,如果我尝试创建单独的函数来检索相关数据(学生和问题数据),那会很费力,因为我对数据库产生了更多的调用。
你们有什么建议?
mysql - 查找“不存在”之类的条件
我的数据库中有 2 个表...
Entita
id int(11)
描述varchar(50)
.....
Publicobjects
....
model varchar(50)我需要的模型(在本例中为'Entita')
model_id int(11)
我想做这样的查询:
select entita.*
from entita
where NOT EXISTS (select * from publicobjects where publicobjects.model = 'Entita' and publicobjects.model_id = entita.id)
如何在不使用自定义查询的情况下使用 Cakephp 的模型函数来做到这一点?
谢谢
php - CakePHP,为多选框设置复杂/多重查找条件
我有一个名为制造商名称的多选框,它显示正确,甚至可单击以进行多项搜索。当我运行搜索时,我没有使用我设置的复杂查找条件从我的数据库中获得任何结果。我尝试使用面包店和其他各种网站的 Complex-Find-Conditions 但无济于事。
注释掉的是我在控制器中尝试设置多个查找条件的内容。
当我调试和搜索时,我得到以下信息。
php - 在 CakePHP 中从模型中获取数据的最有效方法是什么?
我是 CakePHP 的新手,还在搞清楚基础知识。现在,我对从模型(从另一个链接模型内部)获取一个或多个字段的过程有点迷惑。
到目前为止,我有这个:
这似乎非常冗长。
和这个:
这似乎不那么长,但会导致两个查询。
我以前在这些情况下做的事情,蛋糕前:
或者当我想打字时:
所以,问题是:我是否缺少 CakePHP 中的一些魔法来完成这项任务,还是我必须忍受大量的输入?