【发布时间】:2025-12-07 08:05:02
【问题描述】:
我想允许用户将应用程序发送到某个工作。我最初允许编辑,但有一些问题,如下所示:How do I completely overwrite previously edited data such that only the latest one is displayed in Codeigniter? 在尝试了不同的方法来解决它之后,我仍然无法解决。但现在几乎不重要了,因为我意识到我原来的计划会产生更多的问题。此外,在现实生活中,建议应该提出一次,所以应该提交最好的。 我现在的问题是,即使某个用户已经发送了申请,每次他尝试访问同一个职位时,“申请”按钮仍然有效,因此仍然进行了多次申请。我试图改变我的模型上的一些东西,但它仍然没有用。
这是我的提供者控制器中的内容:
public function write_proposal()
{
//allows provider to send proposal to client
$this->validateRole('provider');
$this->load->model('job_model');
$id = $this->uri->segment(3, 0);
$data['my_preference'] = $this->job_model->get_my_job_proposals($id);
//$data['id'] = $id;
$data['job'] = $this->job_model->get_job($id);
$this->load->view('provider/write_proposal', $data);
}
public function job_proposal_submit()
{
//completes proposal submission
$this->validateRole('provider');
$this->load->model('job_model');
$this->job_model->add_job_proposal_from_provider($_POST);
redirect('provider/view_job/' . $_POST['job_id'] . "?message=Proposal submitted.");
}
我的工作模型中的这个对应的..
public function add_job_proposal_from_provider($obj)
{
//I wanted to make here the condition that adding new proposal will only work if the user has not yet submitted any proposal for the specific job but it produced another error, and that is none of the at least two proposals made is shown or probably even saved
//if ($obj['proposal'] == NULL){
$data = array
(
'proposal' => $obj['proposal'],
'job_id' => $obj['job_id'],
'status' => "Open",
'provider_id' => $this->auth_model->get_user_id()
);
$this->db->insert('job_proposal', $data);
//}
}
我期待任何帮助。谢谢
【问题讨论】:
-
加载模型时遇到什么错误?
-
虽然显示了“已提交工作建议”的消息,但实际情况是,创建的工作建议的第二个或第三个等将不再显示..甚至第一个也不显示。
-
你能显示你的完整代码吗
-
我在控制器中添加了代码..
标签: php codeigniter submit add conditional-statements