0

在我的代码中,当函数抛出错误(例如,组织名称是必需的或已经存在)时,catch 块可以正常工作。但是在成功的情况下,即使插入了相应的组织,我也得到了 200 的状态和错误消息。我的代码中有什么错误。

insertTenancy 是 Mycontroller 中编写的函数。

 public function insertTenancy($data,$user, $res)
{

    $org_name = $data['org_name'];
    $queryString = "SELECT * FROM organisation WHERE name = ? and user_id =?";
    $query = $this->db->prepare($queryString);
    $query->execute([$org_name,$user]);

    if($query->fetch(\PDO::FETCH_ASSOC)){
        //throw new Exception('This organisation is already in use');
        return CCommon::prepareError($res, 'This organisation is already in use', 403);
    }

     $insertOrg = "INSERT INTO organisation (currency_id,name,user_id) VALUES (1,:name,:user_id)";

        $insertOrgname = $this->db->prepare($insertOrg);
        $insertOrgname->bindParam(':name', $org_name);
        $insertOrgname->bindParam(':user_id', $user_id);
        $insertOrgname->execute();
        $lastorgId = $this->db->lastInsertId();
        return $lastorgId;
 }

在 routerContainer 中编写的以下函数

try
    {
        $postData = $request->getParsedBody();
        $currentUser = $this->user;
        $data = array();
        $data = $this->MyController->insertTenancy($postData,$currentUser,$response);
            echo json_encode($data);
            exit;
    }
    catch (Exception $e)
    {
        $data = array();
        $data['success'] = false;
        $data['message'] = $e->getMessage();
        return CBCommon::prepareError($response, $data['message'], 403);
        exit;
    }
4

1 回答 1

0

您创建一个新数组,然后将 false 添加到索引“成功”。

那么为什么要

$data['message']

被定义?

也许你想改变你的

$error 

进入

 $data['message']
于 2016-08-31T12:18:21.593 回答