v2.5.2
Giriş yap

basicdb - join kullanımında 2 tabloda aynı verilerin çakışması

sefaaydin
397 defa görüntülendi

merhaba;
basicdb sınıfını kullanıyorum.
2 adet tablom mevcut. 1) Withdrawal - 2) users

2 tabloda da aynı kolon mevcut. isimleri STATUS.

1'deki tabloda status değerleri : 0, 1, 2, 3, 4
2'deki tabloda status değerleri : 0, 1

Aşağıdaki sorgu yazdım.

$empRecords = $db->from('withdrawal as w')
            ->join('users as u', 'u.uid = w.userid')
            ->where('pid', $searchValue, 'LIKE')
            ->or_where('users', $searchValue, 'LIKE')
            ->or_where('timedate', $searchValue, 'LIKE')
            ->orderby($columnName, $columnSortOrder)
            ->limit($row, $rowperpage)
            ->all();

bana withdrawal tablosundaki status'un değerleri gerekiyor.
Değerleri şu şekilde alıyorum.

foreach ($empRecords as $row) {
    $status = $row['status'];
    if ($status == 0) {
        $transactiontype = "Pending";
        $action = ' <a href="adres.php?uid='.$row['userid'].'&pid='.$row['pid'].'&walletname='.$row['symbol'].'" class="btn z-depth-0 bg-transparent p-1 m-0" data-toggle="tooltip" data-placement="top" title="Pending">
            <i class="fas fa-check-circle text-warning pr-3"></i>
        </a>';
    }
    elseif ($status == 1) {
        $transactiontype = "Success";
        $action = '
        <a href="javascript:void(0)" class="btn z-depth-0 bg-transparent p-1 m-0" data-toggle="tooltip" data-placement="top" title="Success">
            <i class="fas fa-check-circle text-success pr-3"></i>
        </a>';
    }
    elseif($status == 2) {
        $transactiontype = "Canceled";
        $action = '
        <a href="javascript:void(0)" class="btn z-depth-0 bg-transparent p-1 m-0" data-toggle="tooltip" data-placement="top" title="Canceled">
            <i class="fas fa-times-circle text-danger pr-3"></i>
        </a>';
    }
}

Fakat yukarıdaki status değeri users tablosundaki status değeri ile eşleştiği için yanış sonuç veriyor.

Ben basicDB'de withdrawal tablosundaki status kolon bilgisini nasıl alabilirim?

sefaaydin
918 gün önce

Sorunu çözdüm. BasicDB kullanan arkadaşlar Join kullandığınızda 2 tabloda da aynı kolon adı varsa aşağıdaki gibi kullanabilirsiniz.

$Query  = $db->from('tabloadi AS t')
        ->select('t.userid, t.pid, t.symbol, t.amount, t.tokenaddress, t.status, t.timedate, u.uid, u.users, u.email')
        ->join('users AS u', 'u.uid = t.userid')
        ->where('id', $searchValue, 'LIKE')
        ->orderby($columnName, $columnSortOrder)
        ->limit($row, $rowperpage)
        ->all();