Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Szyfr's avatar
Level 3

Please can someone help me, currently I'm creating a real time betting, I don't know what control structures I'll use,

Please can someone help me, I don't know what control structures I'll use,

currently I'm creating a real time betting, all is working except in close bet button

here's a scenario players can bet both sides, let's say GREEN and RED sides, and I have a close bet button

I want to achieve is after I press close bet button, it will check both sides bets if it is equal

if not equal return all bets until both sides is equal

here's my close button current code, this will return all bet of all users,

// get total amount bet both sides
$betSummaries = Bet::where('fight_id', $fightId)
            ->select(DB::raw('SUM(meron) as meron'), 'odds', DB::raw('SUM(wala) as wala'))
            ->groupBy('odds')
            ->first();

$meron       = $betSummaries->meron;
$wala        = $betSummaries->wala;
$meronExcess = $meron -= $wala;

// check side:meron if greater than side:wala
if ($meron > $wala) {
    // get the latest user with highest bet side:meron
    $lastUsersBetMeron = Bet::with('user')
                            ->where('fight_id', $fightId)
                            ->whereNotNull('meron')
                            ->where('meron', '!=', 0)
                            ->latest()
                            ->get();

    foreach ($lastUsersBetMeron as $lastUserBetMeron) {

        // get users bet meron
        $userBetMeron = $lastUserBetMeron->meron;

        // return users points
        $lastUserBetMeron->user->amount += $userBetMeron;
        $lastUserBetMeron->user->save();

        // get updated bet amount
        $updateAmount = $userBetMeron -= $userBetMeron;

        // return users bet
        $lastUserBetMeron->meron = $updateAmount;
        $lastUserBetMeron->user;
        $lastUserBetMeron->save();
    }
}

event(new BetCreated($lastUserBetMeron));
$fight->status = $request->status;
$fight->save();
0 likes
0 replies

Please or to participate in this conversation.