basicdb - join kullanımında 2 tabloda aynı verilerin çakışması
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="nojavascript...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="nojavascript...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?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (1)
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();