Konuşan Sorgular


    × Bunları biliyor muydunuz?
"ZN Framework'e ait tüm paketler framework dışında da kullanılabilir esneklikte tasarlanmıştır."


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();
Koşul Oluşturma

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();
SELECT * FROM comments
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();
SELECT * FROM products GROUP BY create_date ORDER BY create_date Asc

 

 

# 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']);
Koşul Oluşturma

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();
Koşul Oluşturma

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');