Skip to content

Latest commit

 

History

History
86 lines (51 loc) · 2.92 KB

File metadata and controls

86 lines (51 loc) · 2.92 KB

Temel Veritabanı Kullanımı

Yapılandırma

Laravel, veritabanı bağlantısını ve sorguları çalıştırmayı fazlasıyla kolay kılar. Veritabanı yapılandırma ayarları app/config/database.php dosyasında bulunmaktadır. Bu dosyada hem tüm veritabanı bağlantılarını tanımlayabilir, hem de hangi bağlantının varsayılan olarak kullanılacağını seçebilirsiniz. Bu dosyada, desteklenen veritabanı sistemlerinin tümü için örnekler verilmiştir.

Laravel tarafından desteklenen veritabanı sistemleri: MySQL, Postgres, SQLite, ve SQL Server.

Sorguları Çalıştırma

Veritabanı bağlantılarını bir kere yapılandırdıktan sonra DB sınıfını kullanarak sorgularını çalıştırabilirsiniz.

Kayıt Çekme (Select)

$sonuclar = DB::select('select * from uyeler where id = ?', array(1));

select metodu sonuçları her zaman dizi tipinde döndürür.

Yeni Kayıt Ekleme (Insert)

DB::insert('insert into uyeler (id, isim) values (?, ?)', array(1, 'Emre'));

Kayıt Güncelleme (Update)

DB::update('update uyeler set oy = 100 where isim = ?', array('Hakan'));

Kayıt Silme (Delete)

DB::delete('delete from uyeler');

Not: update ve delete sorguları, bu işlemlerden etkilenen satır sayısını döndürür.

Genel Bir Sorgu Çalıştırma

DB::statement('drop table uyeler');

DB::listen metodunu kullanarak sorgu olaylarını dinleyebilirsiniz:

Sorgu Olaylarını Dinleme

DB::listen(function($sql, $bindings, $time)
{
	//
});

Veritabanı İşlemleri

Bir veritabanı işleminde, birden fazla işlemi birden gerçekleştirmek için, 'transaction' metodunu kullanabilirsiniz:

DB::transaction(function()
{
	DB::table('uyeler')->update(array('votes' => 1));

	DB::table('posts')->delete();
});

Bağlantılara Erişme

Birden fazla bağlantı kullandığınız durumlarda, bu bağlantılara DB::connection metodu aracılığı ile ulaşabilirsiniz.

$uyeler = DB::connection('foo')->select(...);

Ayrıca temel PDO örneğine de ulaşabilirsiniz:

$pdo = DB::connection()->getPdo();

Bazen veritabanına tekrar bağlanmaya ihtiyacınız olabilir.

DB::reconnect('foo');

Sorgu Günlükleri

Varsayılan olarak, Laravel güncel istek için çalıştırılabilecek tüm sorgular için bellekte bir günlük tutar. Bununla birlikte, bu bazı durumlarda, örneğin çok sayıda satır eklerken, uygulamanın aşırı bellek kullanmasına neden olabilir. Günlüğü devre dışı bırakmak için disableQueryLog metodunu kullanabilirsiniz.

DB::connection()->disableQueryLog();