Symfony-findOneOrFail返回数组消息



在我的Symfony服务中,我想添加小的编辑,所以我决定最好在类内进行。

在我的控制器中,我从我的请求中得到storyId(它不是表ID,它是一个具有不同字符的字符串(,比如:

$story = json_decode($request->getContent(), true);
$storyId = $story['storyId'];
$freeStoryName = $this->storyRepo->findOneOrFail(['storyId' => $storyId]);
$story->freeStoryName($freeStoryName);
return $this->json(["message" => "SUCCESS"]);

在我的实体类中,我像一样处理它

public function freeStoryName(Story $story): Story
{
$this->setPreviousStoryName($story->getStoryName());
$story->setStoryName(null);
}

我收到错误消息:

调用数组上的成员函数freeStoryName((

我知道消息的意思,但不明白?这是findOne()方法。。另一个问题是,我是否需要像在服务中那样在Entity类中使用flush()方法?

您在$story上使用freeStoryName,它是一个数组(json_decode($request->getContent(), true);(

你需要使用你的方法和你的结果:

$story = json_decode($request->getContent(), true);
$storyId = $story['storyId'];
$freeStoryName = $this->storyRepo->findOneOrFail(['storyId' => $storyId]);
$freeStoryName->freeStoryName($freeStoryName);
return $this->json(["message" => "SUCCESS"]);

如果你觉得这样做有点奇怪,你可以把你的方法改为:

public function freeStoryName()
{
$this->setPreviousStoryName($this->getStoryName());
$this->setStoryName(null);
}

并使用它:

$freeStoryName->freeStoryName();

相关内容

  • 没有找到相关文章

最新更新