Seçim Yöntemleri
"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."
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