Shopware 6 表格
Shopware 6 Forms
新手问题。如何在 Shopware 6 中处理店面表单提交?如何将表单中的数据保存到数据库中?我有一个实体,店面显示的表单和一个控制器,但我不知道如何将数据保存到实体。提前致谢。
你必须更具体地描述你想要达到的目标。
但一般来说,如果您已经有一个接收数据的控制器,那么您可以像这样从请求中获取它们:
$data = $request->request->all();
这样,您就将表单中的所有值都保存在数组 $data 中。你已经写了,你已经有了一个实体,所以我假设你的实体已经映射到你的数据库 table。所以你唯一要做的就是使用存储库来保存数据。对于 thta,您只需将其注入 class 并获取上下文。上下文取决于您当前所在的位置,因此为了示例的目的,我刚刚创建了默认上下文。
它应该是这样的:
class MyClass
{
protected $myEntityRepository;
public function __construct(
MyEntityRepository $myEntityRepository
)
{
$this->myEntityRepository = $myEntityRepository;
$this->context = \Shopware\Core\Framework\Context::createDefaultContext();
}
public function myMethod ($data)
{
$this->myEntityRepository->upsert($data, $this->context);
}
}
希望这对您有所帮助。我实际上已经写了一篇关于 Shopware 6 中存储库的文章,所以如果你想获得更多信息和示例,你可以在这里查看:https://shopwarian.com/repositories-in-shopware-6/.
新手问题。如何在 Shopware 6 中处理店面表单提交?如何将表单中的数据保存到数据库中?我有一个实体,店面显示的表单和一个控制器,但我不知道如何将数据保存到实体。提前致谢。
你必须更具体地描述你想要达到的目标。
但一般来说,如果您已经有一个接收数据的控制器,那么您可以像这样从请求中获取它们:
$data = $request->request->all();
这样,您就将表单中的所有值都保存在数组 $data 中。你已经写了,你已经有了一个实体,所以我假设你的实体已经映射到你的数据库 table。所以你唯一要做的就是使用存储库来保存数据。对于 thta,您只需将其注入 class 并获取上下文。上下文取决于您当前所在的位置,因此为了示例的目的,我刚刚创建了默认上下文。
它应该是这样的:
class MyClass
{
protected $myEntityRepository;
public function __construct(
MyEntityRepository $myEntityRepository
)
{
$this->myEntityRepository = $myEntityRepository;
$this->context = \Shopware\Core\Framework\Context::createDefaultContext();
}
public function myMethod ($data)
{
$this->myEntityRepository->upsert($data, $this->context);
}
}
希望这对您有所帮助。我实际上已经写了一篇关于 Shopware 6 中存储库的文章,所以如果你想获得更多信息和示例,你可以在这里查看:https://shopwarian.com/repositories-in-shopware-6/.