Sie können Ihre Datenbank überprüfen, um sicherzustellen, dass der Vorschlag nicht bereits mit etwas in dieser Richtung angenommen wurde. Wenn Sie dies für beide Instanzen tun möchten (akzeptieren und ablehnen), könnten Sie die Prüfung vielleicht in eine zusätzliche Funktion verschieben, die prüft, ob sich ein Vorschlag bereits in einem „Ende“-Status befindet (d. h. angenommen oder abgelehnt).
Eine beispielhafte Ergänzung zu Ihrem reject_job_proposal
Methode könnte sein...
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;
}
...
}