KKUT Docs

Seçim Yöntemleri

Bu bölümde veritabanı fonksiyonlarının kullanımına yer verdik. Genellikle SELECT sorguları ile kullanılırlar. Son parametre true belirtilmediği sürece return değeri $this'dir. Son parametre …

Bu bölümde veritabanı fonksiyonlarının kullanımına yer verdik. Genellikle SELECT sorguları ile kullanılırlar. Son parametre true belirtilmediği sürece return değeri $this'dir. Son parametre true olarak ayarlanırsa string çıktı verir. Böyle kullanımın amacı gerektiğinde birbirlerinin içinde kullanılmasını sağlamaktır.

Yöntemler

Aşağıda DB:: kütüphanesinin SELECT deyimi ile kullanılabilir yöntemlerin listesi gösterilmiştir.

DB::__call(string ...$args) : mixed
DB::switchCase(string $key, array $conditions = [[ [] ]], bool $return = [[false]]) : mixed
DB::ifElse(string ...$args) : mixed
DB::ifNull(string ...$args) : mixed
DB::nullIf(string ...$args) : mixed
DB::currentUser(string ...$args) : mixed
DB::sessionUser(string ...$args) : mixed
DB::systemUser(string ...$args) : mixed
DB::connectionId(string ...$args) : mixed
DB::database(string ...$args) : mixed
DB::schema(string ...$args) : mixed
DB::lastInsertId(string ...$args) : mixed
DB::rowCount(string ...$args) : mixed
DB::versionInfo(string ...$args) : mixed

# __Call

SELECT deyimi ile kullanılabilen AVG, MIN, MAX gibi deyimlerin neredeyse tamamını kullanabilmenizi sağlar.

Çağrılabilir Yöntemler

sum() variance() abs() mod() asin()
acos() atan() atan2() ceil() ceiling()
cos() cot() crc32() degrees() exp()
floor() ln() log10() log2() log()
pi() pow() power() radians() rand()
round() sign() sin() sqrt() tan()
ascii() field() format() lower() upper()
length() ltrim() substring() ord() position()
quote() repeat() rtrim() soundex() space()
substr() trim() ucase() lcase() benchmark()
charset() coercibility() user() collation() database()
schema() avg() min() max() count()

Parametreler

string ...$args Sıralı parametrik değerler.
return mixed Yöntemlerin son parametresi true olarak ayarlanması durumuda string çıktı üretir.
Aksi halde object yani nesnenin kendisini döndürür.

Kullanımlar

Aşağıda bazı örnek kullanımlar gösterilmiştir.

Avg
output( DB::avg('id', 'as avgID')->avg('user_id', 'as avgUserID')->get('users')->row() );
avgID     => string '28.5000'
avgUserID => string '130.0000'
echo DB::stringQuery(); 
SELECT AVG(id) as avgID,AVG(user_id) as avgUserID FROM users
Min
output( DB::avg('id', 'as avgID')->min('user_id', 'as minUserID')->get('users')->row() );
avgID     => string '28.5000'
avgUserID => string '1'
echo DB::stringQuery(); 
SELECT AVG(id) as avgID,MIN(user_id) as minUserID FROM users
 Max
output( DB::max('id', 'as maxID')->min('id', 'as minID')->get('users')->row() );
maxID => string '37'
minID => string '1'
echo DB::stringQuery();
SELECT MAX(id) as maxID,MIN(id) as minID FROM users
Count
$query = DB::count('id')->get('users');

output($query->row());
output($query->stringQuery());
COUNT(id) => string '37',
SELECT COUNT(id) FROM users  

# SwitchCase

SQL CASE - ELSE - END deyiminin karşılığıdır. Sorguda karar yapısı kullanmak için oluşturulmuştur.

Parametreler

string $key Anahtar.
array $condition Koşullar.
default / else Koşulun sağlanmaması durumunda izlenecek yol.
as Sorgu sonucu dönen değere takma isim vermek içindir.
bool $return = false Değer döndürsün mü?
return mixed

Kullanımlar

output
( 
    DB::switchCase('id', ['25' => 'id', 'default' => 'name', 'as' => 'ID'])
      ->get('users')
      ->row() 
); 
ID => string '25' ( length = 4 ),

$return parametresinin true ayarlanması durumunda yöntem string çıktı verecektir.

echo DB::switchCase('id', ['25' => 'id', 'default' => 'name', 'as' => 'ID'], true);
CASE id WHEN 25 THEN id ELSE name END as ID

# IfElse

SQL IF deyiminin karşılığıdır.

Parametreler

string ...$args Sıralı parametrik değerler.
return mixed

Kullanımlar

echo DB::ifElse('id = 25', 'name', 'id', 'as retval')->getString('users');
SELECT IF(id = 25,name,id) as retval FROM users

Yukarıdaki örnekte dikkat edilirse takma isim vermek için son parametre kullanılmıştır.

 

# IfNull

SQL IFNULL deyiminin karşılığıdır.

Parametreler

string ...$args Sıralı parametrik değerler.
return mixed

Kullanımlar

output( DB::ifNull('name', 'id', 'as retval')->get('users')->row() ); 

echo DB::stringQuery();
SELECT IFNULL(name,id) as retval FROM users

# NullIf

SQL NULLIF deyiminin karşılığıdır.

Parametreler

string ...$args Sıralı parametrik değerler.
return mixed

Kullanımlar

output( DB::nullIf('name', 'id', 'as retval')->get('test')->row() ); 

echo DB::stringQuery();
SELECT NULLIF(name,id) as retval FROM users

# CurrentUser

SQL CURRENT_USER deyiminin karşılığıdır.

Parametreler

string ...$args Sıralı parametrik değerler.
return mixed

Kullanımlar

$query = DB::currentUser()->get('test');

output($query->value());
output($query->stringQuery());
root@localhost
SELECT CURRENT_USER() FROM test   

# SessionUser

SQL SESSION_USER deyiminin karşılığıdır.

Parametreler

string ...$args Sıralı parametrik değerler.
return mixed

Kullanımlar

$query = DB::sessionUser()->get('test');

output($query->value());
output($query->stringQuery());
root@localhost
SELECT SESSION_USER() FROM test   

# SystemUser

SQL SYSTEM_USER deyiminin karşılığıdır.

Parametreler

string ...$args Sıralı parametrik değerler.
return mixed

Kullanımlar

$query = DB::systemUser()->get('test');

output($query->value());
output($query->stringQuery());
root@localhost
SELECT SYSTEM_USER() FROM test  

# ConnectionID

SQL CONNECTION_ID deyiminin karşılığıdır. Bağlantı ID değerini döndürür.

Parametreler

string ...$args Sıralı parametrik değerler.
return mixed

Kullanımlar

$query = DB::connectionId()->get('test');

output($query->value());
output($query->stringQuery());
155
SELECT CONNECTION_ID() FROM test  

# Database

SQL DATABASE deyiminin karşılığıdır. Veritabanı adını döndürür.

Parametreler

string ...$args Sıralı parametrik değerler.
return mixed

Kullanımlar

$query = DB::database()->get('test');

output($query->value());
output($query->stringQuery());
test
SELECT DATABASE() FROM test  

# Schema

SQL SCHEMA deyiminin karşılığıdır. Şema adını döndürür.

Parametreler

string ...$args Sıralı parametrik değerler.
return mixed

Kullanımlar

$query = DB::schema()->get('test');

output($query->value());
output($query->stringQuery());
test
SELECT SCHEMA() FROM test  

# LastInsertID

SQL LAST_INSERT_ID deyiminin karşılığıdır. Otomatik artan id değerine göre son eklenen id bilgisini verir.

Parametreler

string ...$args Sıralı parametrik değerler.
return mixed

Kullanımlar

$query = DB::lastInsertId()->get('test');

output($query->value());
output($query->stringQuery());
0
SELECT LAST_INSERT_ID() FROM test  

# RowCount

SQL ROW_COUNT deyiminin karşılığıdır. Güncellenen satır sayısın değerini döndürür.

Parametreler

string ...$args Sıralı parametrik değerler.
return mixed

Kullanımlar

$query = DB::rowCount()->get('test');

output($query->value());
output($query->stringQuery());
0
SELECT ROW_COUNT() FROM test  

# VersionInfo

SQL VERSION deyiminin karşılığıdır. Mevcut versiyon bilgisini verir.

Parametreler

string ...$args Sıralı parametrik değerler.
return mixed

Kullanımlar

$query = DB::versionInfo()->get('test');

output($query->value());
output($query->stringQuery());
10.1.13-MariaDB
SELECT VERSION() FROM test  
KUT Framework 1.0Katmanlı Uygulama Tabanı

Kur. Uyarla. Türet.