class 闭包的 Yii2 对象无法转换为字符串

Yii2 Object of class Closure could not be converted to string

我有错误 class 闭包的对象无法转换为字符串 在这个代码上

'class' => \dosamigos\grid\EditableColumn::className(),
            'attribute' => 'remidi3',
            'url' => function($data){return ['update?id=remidi3&dataid'.$data->id];},
            'type' => 'text',
            'editableOptions' => [
                'mode' => 'inline',
            ]

连我都在努力改变

'url' => function($data){return ['update?id=remidi3&dataid'.$data->id];}

进入

'url' => function($data){return 'update?id=remidi3&dataid'.$data->id;},

我需要在可编辑网格的 URL 中显示 id,有人可以帮我吗?

根据源代码和 PHPDoc,您不能在此处指定闭包。

PHPDoc 说:

/**
 * @var string the url to post
 */
 public $url;

源代码中的用法:

if ($this->url === null) {
    throw new InvalidConfigException("'Url' property must be specified.");
}

...

$url = (array) $this->url;
$this->options['data-url'] = Url::to($url);

如你所见,它被转换为数组,然后被Url::to()处理,所以有效类型是字符串和数组。

我认为您不需要在 url 中指定 id,它应该根据您使用的行自动获取。