Shopware 6 Forms



新手问题。如何在Shopware 6中处理店面表单提交?如何将数据从表单保存到数据库?我有一个实体,在店面和控制器显示的形式,但我不知道如何将数据保存到实体。提前谢谢。

你必须更具体地描述你到底想要实现什么。

但是一般来说,如果你已经有了一个接收数据的控制器,那么你可以像这样从请求中获取它们:

$data = $request->request->all();

这样,表单中的所有值都保存在数组$data中。您已经写了,您已经有了一个实体,因此我假设,您的实体已经映射到您的数据库表。所以你唯一要做的,就是使用存储库来保存数据。为此,您只需要将它注入到类中并获得上下文。上下文取决于您当前所处的位置,因此出于本例的目的,我只创建了默认上下文。

应该是这样的:

class MyClass
{
protected $myEntityRepository;
public function __construct(
MyEntityRepository $myEntityRepository
)
{
$this->myEntityRepository = $myEntityRepository;
$this->context = ShopwareCoreFrameworkContext::createDefaultContext();
}
public function myMethod ($data)
{
$this->myEntityRepository->upsert($data, $this->context);
}
}

希望这对你有帮助。我实际上已经写了一篇关于Shopware 6中的存储库的文章,所以如果你想获得更多的信息和示例,你可以在这里查看:https://shopwarian.com/repositories-in-shopware-6/.

相关内容

  • 没有找到相关文章

最新更新