Cakephp 如何在编辑视图布局上获取记录ID?

Cakephp 如何在编辑视图布局上获取记录ID?,cakephp,view,Cakephp,View,如何在“编辑视图布局”中获取当前记录的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 $curren

如何在“编辑视图布局”中获取当前记录的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; ?>
//在呈现视图的控制器操作中
$this->set('current_id',$this->ModelName->id);
//在视图/布局中以这种方式访问它:
您还可以使用ajax获取当前的记录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; ?>
//在呈现视图的控制器操作中
$this->set('current_id',$this->ModelName->id);
//在视图/布局中以这种方式访问它:
您还可以使用ajax获取当前的记录ID,但这听起来并不能让您受益


祝你好运

在视图中使用$this->data['ModelName']['id']

从2.3开始在视图中使用$this->data['ModelName']['id'],只要你有$this->Form->hidden('fieldname');您可以可靠地使用$this->Form->value('ModelName.fieldname')作为表单中字段的值。呈现视图时,正如html输入标记根据控制器中使用的模型获取值并在$this->Form create('ModelName')中引用一样,呈现$this->Form->value('ModelName.fieldname')时也有一个值

在控制器中,$this->request->data['ModelName']设置为CakePhp中模型数据的数组,其中['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']中。

从2.3开始,只要您有$this->Form->hidden('fieldname');您可以可靠地使用$this->Form->value('ModelName.fieldname')作为表单中字段的值。呈现视图时,正如html输入标记根据控制器中使用的模型获取值并在$this->Form create('ModelName')中引用一样,呈现$this->Form->value('ModelName.fieldname')时也有一个值

在控制器中,$this->request->data['ModelName']设置为CakePhp中模型数据的数组,其中['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']中