Controller içerisinde direk veritabanı sorgusu yapabilirsiniz.
Öncelikle Controller içerisine DB yapısını kullanılabilir hale getirmeniz gerekir.
use DB;
Seçim Sorgusu
$results = DB::select('select * from users where id = ?', array(1));
Ekleme Sorgusu
DB::insert('insert into users (id, name) values (?, ?)', array(1, 'Dayle'));
Güncelleme Sorgusu
DB::update('update users set votes = 100 where name = ?', array('John'));
Silme Sorgusu
DB::delete('delete from users');
Tablo Kaldırma Sorgusu
DB::statement('drop table users');
Sorgu Olaylarını Dinleme
DB::listen(function($sql, $bindings, $time) { // });
Veritabanı İşlemleri
DB::transaction(function() { DB::table('users')->update(array('votes' => 1)); DB::table('posts')->delete(); });
Sorgu Loglama
Varsayılan olarak, Laravel, mevcut istek için çalıştırılan tüm sorguların bir günlüğünü hafızada tutar. Ancak, çok sayıda satır ekleme gibi durumlarda, uygulamanın fazla bellek kullanmasına neden olabilir. Günlüğü devre dışı bırakmak için disableQueryLog
yöntemini kullanabilirsiniz:
DB::connection()->disableQueryLog();
Yürütülen sorguların bir dizisini almak için getQueryLog
yöntemi kullanılabilir.
$queries = DB::getQueryLog();