如何在编辑视图布局中获取记录ID?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在编辑视图布局中获取记录ID?相关的知识,希望对你有一定的参考价值。
如何在编辑视图布局上获取当前记录的ID?
您可以加载有问题的模型并从视图中以这种方式访问它(在我看来,这是一个非常糟糕的想法),或者您可以在控制器操作中“设置”它:
// In the controller action that renders the view
$this->set('current_id',$this->ModelName->id);
// Access it this way in the view/layout:
<?php echo $current_id; ?>
你也可以使用ajax获取当前的记录ID,但这听起来不像是有益于你的东西。
祝好运
在视图中使用$ this-> data ['ModelName'] ['id']
从2.3开始,只要你有$ this-> Form-> hidden('fieldname');你可以可靠地使用$ this-> Form-> value('ModelName.fieldname')作为表单中字段的值。呈现视图时,就像html输入标记获取基于控制器中使用的模型的值并在$ this-> Form-create('ModelName')中引用时,在呈现$ this-> Form->值时('ModelName.fieldname')有一个值。
在控制器中,$ this-> request-> data ['ModelName']被设置为CakePhp中Model的数据数组,其中['id']指向id字段的值。
$this->Form->create('ModelName');
$this->Form->input('id');
$this->Form->end();
对应于控制器逻辑,其中$ this-> request-> data ['ModelName']获取一个关联数组,其中至少有“id”=>某个id值,具体取决于从数据库读取的数据。
请注意,当您使用$ this-> Form-> value()来检索表单数据时,它将在屏幕最初由控制器呈现时起作用,但在再次呈现屏幕时可能会失败,因为使用了模型验证规则模型定义中的函数失败。
要使用更严格的模型验证逻辑确保$ this-> Form-> value()是可靠的,请使用$ this-> Form-> hidden('fieldName');在多个模型验证迭代中保存$ this-> request-> data ['ModelName']中的数据。
以上是关于如何在编辑视图布局中获取记录ID?的主要内容,如果未能解决你的问题,请参考以下文章