gpt4 book ai didi

php - Symfony-传递后参数返回相同

转载 作者:搜寻专家 更新时间:2023-10-31 21:47:10 24 4
gpt4 key购买 nike

我定义了我的 postParams,我想从 db 传递“哈希”值。

我想要完成的是,如果哈希存在于我的 session 表中则返回 TRUE,如果不存在则返回 FLASE。

问题是我的代码总是返回 TRUE。

我错过了什么?

$postData = $this->requirePostParams(['hash']);

$this->container->get('app')->formService(
$this->data['hash']
);

if ($postData['hash']) {

$hash = $this->get('app')->getSessionRepository()->find($this->data['hash']);

if (!$hash) return false;

} else {

return true;

}

我的 requirePostParams 工作正常! (测试其他功能)

protected function requirePostParams($params) {

$currentRequest = $this->get('request_stack')->getCurrentRequest();

$postData = $currentRequest->request->all();

$postContent = json_decode($currentRequest->getContent(), true);

if(!empty($postContent)) $postData = $postContent;

$this->data = $postData;

$missingParams = [];

foreach ($params as $param) {

if (!array_key_exists($param, $postData)) {

$missingParams[] = $param;

}

}

}

还有我的服务:

$findHash = $this->getSessionRepository()->findOneBy([
'hash' => $hash
]);

最佳答案

正如 xmike 在评论中提到的,函数 requirePostParams 不返回任何内容。这就是为什么从未设置 $postData['hash']

尝试将 $postData['hash'] 替换为 $this->data['hash']:

$this->requirePostParams(['hash']);

$this->container->get('app')->formService(
$this->data['hash']
);

if ($this->data['hash']) {

$hash = $this->get('app')->getSessionRepository()->find($this->data['hash']);

if (!$hash) return false;

} else {

return true;

}

关于php - Symfony-传递后参数返回相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57306291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com