如何在编辑视图布局中获取记录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?的主要内容,如果未能解决你的问题,请参考以下文章

如何在片段中获取rootview?

在片段中,如何查找活动布局中定义的视图?

在片段中使用列表视图

Android获取片段中的布局高度和宽度

何时从android中的布局加载片段中的视图

如何在用java创建的布局内创建地图片段(GoogleMap)?