我正在尝试使用TbEditableColumn / X-Editable在CGridView中进行内联编辑。我正在尝试使用通常的$ data变量通过直观的“$ data-> id”获取行id,以传递动态生成的url中的行ID,以便在控制器的更新操作中,我知道哪个记录要更新。
然而,$ data-> id在创建URL时无效。有趣的是,在项目上应用“可编辑”属性时,可以访问相同的$ data变量。见下文。
我不想使用JS:函数方式来获取元素的id并将其作为参数传递给ajax调用。这似乎并不优雅。
array(
'class' => 'editable.EditableColumn',
'name' => 'mrp',
'headerHtmlOptions' => array('style' => 'width:200px'),
'editable' => array(
'type' => 'text',
'apply' => '$data->id>10605',
'url' => '/product/changeMRP/id/$data->id',
),
),
在上面的代码中,此行有效
'apply' => '$data->id>10605'
但这条线不是
'url' => '/product/changeMRP/id/$data->id',
为什么会这样?我怎样才能解决我的问题?
我关注了这个问题: How can update db values using x-editable EditableColumn?但它没有帮助
答案 0 :(得分:0)
您可以使用createUrl()
创建URL
并在id
中传递array
。喜欢这个
'url' => "Yii::app()->createUrl('product/changeMRP', array('id'=>'$data->id'))",
希望它能解决你的问题。