Changes between Version 28 and Version 29 of AdvancedApplicationDevelopment


Ignore:
Timestamp:
09/30/25 10:16:43 (2 weeks ago)
Author:
223270
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedApplicationDevelopment

    v28 v29  
    255255}}}
    256256
     2574. Rollback при грешка
     258{{{
     259DB::transaction(function () use ($request) {
     260    try {
     261        DB::table('activity_reservation')->insert([
     262            'id_user' => auth()->id(),
     263            'id_activity' => $request->activity_id,
     264            'reservation_date' => now()
     265        ]);
     266
     267        if ($request->activity_id == 999) {
     268            throw new Exception('Непозната активност');
     269        }
     270
     271        DB::table('activity')->where('id_activity', $request->activity_id)->decrement('amount', 1);
     272    } catch (Exception $e) {
     273        echo 'Трансакцијата не успеа: ', $e->getMessage();
     274        throw $e;
     275    }
     276});
     277}}}
     278
    257279=== Складирани функции и процедури
    258280Функциите и процедурите се дефинирани во базата и можат да се повикуваат од апликацијата. На тој начин се централизира логиката и се олеснува одржувањето.