Veritabanı Seçim Fonksiyonları


    × Bunları biliyor muydunuz?
"URL::base() ve URL::site() kullanımları farklıdır. Özellikle varlık dosyalarına yol verilirken URL::base(), [a] etiketi ile köprü oluştururken URL::site() kullanılmalıdır."


(ZN >= 3.0.0)

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.

Mixed __call(String ...$args)
Mixed switchCase(String $key, Array $conditions = [], Bool $return = false)
Mixed ifElse(String ...$args)
Mixed ifNull(String ...$args)
Mixed nullIf(String ...$args)
Mixed currentUser(String ...$args)
Mixed sessionUser(String ...$args)
Mixed systemUser(String ...$args)
Mixed connectionId(String ...$args)
Mixed database(String ...$args)
Mixed schema(String ...$args)
Mixed lastInsertId(String ...$args)
Mixed rowCount(String ...$args)
Mixed versionInfo(String ...$args)

 

 

# __Call (ZN >= 3.0.0)


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 (ZN >= 3.0.0)


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 (ZN >= 3.0.0)


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 (ZN >= 3.0.0)


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 (ZN >= 3.0.0)


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 (ZN >= 3.0.0)


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 (ZN >= 3.0.0)


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 (ZN >= 3.0.0)


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 (ZN >= 3.0.0)


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 (ZN >= 3.0.0)


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 (ZN >= 3.0.0)


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 (ZN >= 3.0.0)


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 (ZN >= 3.0.0)


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 (ZN >= 3.0.0)


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