Konuşan Sorgular
"Libraries/ dizini içine taşınan veya bu dizinde oluşturulan kütüphaneler hiç bir tanımlama gerektirmeden kullanılabilir. "
Bu kullanımlar, sorgu kullanımlarını daha anlamlı ve kısa hale getirmeyi amaçlamaktadır. Özellikle CRUD işlemleri için daha kolay ve anlamlı sorgular yazabilirsiniz. Yöntem yazımlarında parametreler büyük harf ile başlar bu nedenle SQL harf duyarlılığının kapalı olduğundan emin olunuz. Aşağıda bu sorguların kullanımları ile ilgili detaylı örnekler verilecektir.
# Gereksinimler
● SQL harf duyarlılığının kapalı olması gerekmektedir.
# Result İşlemleri
DB::result() yönteminin bir tür kullanımıdır.
Kural
object | tablenameResult(string $output = 'object') |
Kullanımlar
Blog tablosuna ait tüm sonuçları almak için;
$result = DB::blogResult();
Bir koşula göre sonuçları almak için;
$result = DB::whereSlug('example-data')->blogResult();
Birden fazla koşula göre sonuçları almak için;
$result = DB::whereSlugAnd('example-data')->whereId(10)->blogResult();
# Row İşlemleri
DB::row() yönteminin bir tür kullanımıdır.
Kural
object | tablenameRow(mixed $output = 0) |
Kullanımlar
Blog tablosuna ait tek bir satır sonuç almak için;
$row = DB::blogRow();
Blog tablosuna ait 5. kayıta ait sonucu almak için;
$row = DB::blogRow(4);
Belli bir koşula göre tek satır sonuç almak için;
$row = DB::whereId(5)->blogRow();
Where yapısını da kısa bir şekilde kullanabilirsiniz.
Kural
object tablenameRowColumnname(scalar $value) Kullanımlar
$row = DB::blogRowId(5); # DB::where('id', 5)->blog()->row() kullanımı gibidir.
Eğer parametre belirtilmez ise DB::value() yöntemi gibi çalışır ve ilgili kolonun değerini verir.
# Value İşlemleri
DB::value() yönteminin bir tür kullanımıdır.
Kural
scalar | tablenameRowColumnname(void ) |
Kullanımlar
Blog tablosuna ait tek bir kolon değerini almak için;
$value = DB::blogRowSlug();
Blog tablosuna ait tek bir kolon değerini belli bir koşula göre almak için;
$value = DB::whereIdOr(1)->whereIdOr(10)->whereId(20, '<')->blogRowName();
Eğer koşul eşittik dışında bir karşılaştırma olacaksa 2. parametreye karşılaştırma operatörü belirtilir.
$value = DB::whereCreate_date('2017', '<')->blogRowContent();
# Join İşlemleri
DB::typeJoin() yöntemlerinin bir tür kullanımıdır. Bu yöntemdeki type: left, right gibi kullanımları ifade etmektedir.
Kural
this | leftJoinTablenameColumnnameTablename2Columnname2(string $operator = '=') |
Kullanımlar
$result = DB::leftJoinAccoutsIdCommentsUser_id()
->rightJoinCommentsUser_idTopicUser_id('!=')
->commentsResult();
LEFT JOIN accouts ON accouts.id = comments.user_id
RIGHT JOIN comments ON comments.user_id != topic.user_id
# Group By ve Order By İşlemleri
DB::groupBy() ve DB::orderBy() yöntemlerinin bir tür kullanımıdır.
Kural
this | groupByColumnname(void ) |
this | orderByColumnnameOrdertype(void ) |
Kullanımlar
DB::orderByCreate_dateAsc()->groupByCreate_date()->productsResult();
# Insert İşlemi
DB::insert() yönteminin bir tür kullanımıdır.
Kural
bool | tablenameInsert(array $columnAndValues) |
Kullanımlar
Blog tablosuna yeni bir kayıt eklemek için;
DB::blogInsert(['name' => 'New Blog', 'content' => 'New Blog Content']);
# Update İşlemi
DB::update() yönteminin bir tür kullanımıdır.
Kural
bool | tablenameUpdate(array $columnAndNewValues) |
Kullanımlar
Blog tablosuna ait bir kayıtı güncellemek için;
DB::blogUpdate(['name' => 'New Blog 2']);
Where yapısını da kısa bir şekilde kullanabilirsiniz.
Kural
bool tablenameUpdateColumnname(array $columnAndNewValues, scalar $columnValue) Kullanımlar
Blog tablosuna ait bir kayıtı güncellemek için;
DB::blogUpdateId(['name' => 'New Blog 2'], 1);
Yukarıdaki kullanım id kolonu 1 olanın verilerinin güncelleneceğini belirtir.
# Delete İşlemi
DB::delete() yönteminin bir tür kullanımıdır.
Kural
bool | tablenameDelete(void) |
Kullanımlar
Blog tablosuna ait bir kayıtı silmek için;
DB::whereName('New Blog 2')->blogDelete();
Where yapısını da kısa bir şekilde kullanabilirsiniz.
Kural
bool tablenameDeleteColumnname(scalar $columnValue) Kullanımlar
Blog tablosuna ait bir kayıtı silmek için;
DB::blogDeleteName('New Blog 2');
Yukarıdaki kullanım name kolonu 'New Blog 2' olanın verilerinin silineceğini belirtir.
# Create Table İşlemi
DBForge::createTable() yönteminin bir tür kullanımıdır.
Kural
bool | tablenameCreate(array $columnsAndProperties) |
Kullanımlar
Accounts tablosu oluşturmak için;
DBForge::accountsCreate(['id' => [DB::int(11), DB::autoIncrement(), DB::primaryKey()]]);
# Drop Table İşlemi
DBForge::dropTable() yönteminin bir tür kullanımıdır.
Kural
bool | tablenameDrop(void ) |
Kullanımlar
Accounts tablosunu silmek için;
DBForge::accountsDrop();
# Truncate İşlemi
DBForge::truncate() yönteminin bir tür kullanımıdır.
Kural
bool | tablenameTruncate(void ) |
Kullanımlar
Accounts tablosunun içeriğini boşaltmak için;
DBForge::accountsTruncate();
# Rename İşlemi
DBForge::renameTable() yönteminin bir tür kullanımıdır.
Kural
bool | tablenameRename(string $newTableName) |
Kullanımlar
Accounts tablosunun adını değiştirmek için;
DBForge::accountsRename('new_accounts');