Seçim Yöntemleri
"Basit bir konsol komutu ile projenin orijinal haline dokunmadan restorasyon çalışması yapabilirsiniz."
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.
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
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
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
$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()
);
$return parametresinin true ayarlanması durumunda yöntem string çıktı verecektir.
echo DB::switchCase('id', ['25' => 'id', 'default' => 'name', 'as' => 'ID'], true);
# 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');
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();
# 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();
# 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());
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());
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());
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());
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());
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());
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());
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());
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());
SELECT VERSION() FROM test