Sto pianificando di utilizzare Try / Catch e Database Transaction in Laravel5 e il mio progetto PHP per convalidare qualsiasi errore si verifica quindi il rollback evitando di perdere la mia transazione o le informazioni durante l'utente fare la loro transazione al Database. Sono sicuro di scoprire se qualche metodo ha fatto con lo stato di successo o con lo stato di non successo, ma non capisco ancora molto sulla transazione Try / Catch con Database specialmente con BeginTransaction () e Commit (). Rollback () metodo buildin in Larvel5. Ho fatto con questa funzione, ma alla fine non so quanti errori si verificheranno durante questa transazione. Quando e in che modo trovare gli errori (se si verifica un errore) e tornare agli utenti? In Return nel metodo DB :: commit () restituirò tutto lo stato all'utente finale, ma in che modo il catch eseguirà il proprio compito se si verifica un errore e che tipo di errori si verificano. Esempio: \
public function my_method(){
DB::beginTransaction():
try {
$this->data['a'] = $this->select();
$this->data['b'] = $this->delete();
$this->data['c'] = $this->update();
$this->data['d'] = $this->insert();
DB::commit();
return ['data'=>$this->data];
//I planing return all the return back from each method to user.
} catch(EXCEPTION $e){
DB::rollback()
throw $e
}
}
private update(){ if(done){return true}}
private delete(){ if(done){return true}}
private insert(){ if(done){return true}}
private select(){ if(done){return true}}