Seçim Yöntemleri
"Kontrolcü yöntemlerine parametre olarak enjekte edilen sınıfların örneklerine aynı zamanda görünmlerinden de erişebilirsiniz."
(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.
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() |
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. |
Aşağıda bazı örnek kullanımlar gösterilmiştir.
output( DB::avg('id', 'as avgID')->avg('user_id', 'as avgUserID')->get('users')->row() );
avgUserID => string '130.0000'
echo DB::stringQuery();
output( DB::avg('id', 'as avgID')->min('user_id', 'as minUserID')->get('users')->row() );
avgUserID => string '1'
echo DB::stringQuery();
output( DB::max('id', 'as maxID')->min('id', 'as minID')->get('users')->row() );
minID => string '1'
echo DB::stringQuery();
$query = DB::count('id')->get('users');
output($query->row());
output($query->stringQuery());
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.
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 |
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 (ZN >= 3.0.0)
SQL IF deyiminin karşılığıdır.
string | ...$args | Sıralı parametrik değerler. |
return | mixed |
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 (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();
# NullIf (ZN >= 3.0.0)
SQL NULLIF deyiminin karşılığıdır.
string | ...$args | Sıralı parametrik değerler. |
return | mixed |
output( DB::nullIf('name', 'id', 'as retval')->get('test')->row() );
echo DB::stringQuery();
# CurrentUser (ZN >= 3.0.0)
SQL CURRENT_USER deyiminin karşılığıdır.
string | ...$args | Sıralı parametrik değerler. |
return | mixed |
$query = DB::currentUser()->get('test');
output($query->value());
output($query->stringQuery());
SELECT CURRENT_USER() FROM test
# SessionUser (ZN >= 3.0.0)
SQL SESSION_USER deyiminin karşılığıdır.
string | ...$args | Sıralı parametrik değerler. |
return | mixed |
$query = DB::sessionUser()->get('test');
output($query->value());
output($query->stringQuery());
SELECT SESSION_USER() FROM test
# SystemUser (ZN >= 3.0.0)
SQL SYSTEM_USER deyiminin karşılığıdır.
string | ...$args | Sıralı parametrik değerler. |
return | mixed |
$query = DB::systemUser()->get('test');
output($query->value());
output($query->stringQuery());
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.
string | ...$args | Sıralı parametrik değerler. |
return | mixed |
$query = DB::connectionId()->get('test');
output($query->value());
output($query->stringQuery());
SELECT CONNECTION_ID() FROM test
# Database (ZN >= 3.0.0)
SQL DATABASE deyiminin karşılığıdır. Veritabanı adını döndürür.
string | ...$args | Sıralı parametrik değerler. |
return | mixed |
$query = DB::database()->get('test');
output($query->value());
output($query->stringQuery());
SELECT DATABASE() FROM test
# Schema (ZN >= 3.0.0)
SQL SCHEMA deyiminin karşılığıdır. Şema adını döndürür.
string | ...$args | Sıralı parametrik değerler. |
return | mixed |
$query = DB::schema()->get('test');
output($query->value());
output($query->stringQuery());
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.
string | ...$args | Sıralı parametrik değerler. |
return | mixed |
$query = DB::lastInsertId()->get('test');
output($query->value());
output($query->stringQuery());
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.
string | ...$args | Sıralı parametrik değerler. |
return | mixed |
$query = DB::rowCount()->get('test');
output($query->value());
output($query->stringQuery());
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());
SELECT VERSION() FROM test