【问题标题】:Issue in accessing a supposedly disabled function in CODEIGNITER访问 CODEIGNITER 中应该禁用的功能时出现问题
【发布时间】:2014-06-05 22:46:18
【问题描述】:

我在我的应用程序中发现了一个非常重要的问题。这是关于招聘功能。即使申请人已经被录用,如果客户点击提案页面上的拒绝按钮,状态会从“已批准”变为拒绝。

我想我应该在这部分改变一些东西:

public function approve_job_proposal($job_id, $provider_id, $proposal_id) 
{
    //updates job status to "Closed" when a proposal is already accepted/approved
    $data = array
    (
        'provider_id' => $provider_id,
        'status' => "Awarded"
    );

    $this->db->where('id', $job_id);
    $this->db->update('job', $data);

    $data = array
    (
        'status' => "Approved"
    );

    $this->db->where('id', $proposal_id);
    $this->db->update('job_proposal', $data);

}

public function reject_job_proposal($job_id, $provider_id, $proposal_id) 
{
    //updates provider's job proposal to "Rejected"
    $data = array
    (
        'status' => "Rejected"
    );

    $this->db->where('id', $proposal_id);
    $this->db->update('job_proposal', $data);

}

如果客户已经雇用了此类提供商,我如何禁用任何按钮?

提前致谢!

【问题讨论】:

  • 问题是,一旦客户已经雇用了特定的提供商,我如何禁用任何按钮?

标签: php mysql database codeigniter


【解决方案1】:

您可以检查您的数据库以确保提案尚未被接受,其中包含类似的内容。如果您想对这两种情况(接受和拒绝)都执行此操作,也许您可​​以将检查移到一个附加函数中,以检查提案是否已经处于“结束”状态(即接受或拒绝)。

您的 reject_job_proposal 方法的示例添加可能是...

public function reject_job_proposal ($job_id, $provider_id, $proposal_id) 
{
    $this->db->select('status');
    $this->db->from('job_proposal');
    $this->db->where('id', $proposal_id);
    $query  = $this->db->get();
    $result = $query->row();
    if ($result->status === 'Accepted') {
        // Throw error message, e.g. 'Sorry, this job has been accepted!'
        return;
    }

    ...
}

【讨论】:

  • 非常感谢,Jonnu 先生!但是,我收到一个错误:消息:未定义的变量:我将尝试解决的结果..
  • 抱歉,我在代码中留下了一个错字。请尝试更新版本。
  • 似乎有一个 === 和 result ->result
  • 哦,是的,虽然 == 也有效。非常感谢你的帮助!!上帝保佑! ;)
猜你喜欢
  • 1970-01-01
  • 2021-03-18
  • 1970-01-01
  • 2018-04-21
  • 2021-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-06
相关资源
最近更新 更多