Backpack V4 收纳前改装场地

Backpack V4 modifying field before store

在3.6版本的背包中,我可以在储存之前改变一个属性值。 我有这个代码

If ($request->description == "") {
    $request->description="User has not entered any description";
}
$redirect_location = parent::storeCrud($request);

我怎样才能在 V4 中获得相同的内容?我正在阅读这篇文章 guide,但我无法让它发挥作用。 这就是我在 V4

中尝试的
public function store(PedidoRequest $request)
{
    Log::debug('testing...');



    If ($request->description == "") {
       $request->description="User has not entered any description";
    }

    $redirect_location = $this->traitStore();
    return $redirect_location;
}

Laravel、Illuminate\Http\Request 中的 Request 对象无法通过这样的属性设置输入,没有 __set 方法($request->description = '...'不设置名为 description 的输入)。您必须将输入合并到请求中或使用数组语法来执行此操作:

$request->merge(['description' => '...']);
// or
$request['description'] = '...';

但是由于 backpack 似乎有抽象的东西,显然你没有在你的控制器方法中控制任何东西你可以试试这个:

$this->crud->request->request->add(['description'=> '...']);

可能:

$this->request->merge(['description' => '...']);

假设控制器使用的某些特征正在使用 Fields 特征。