Ant*_*ond 2 query-builder laravel laravel-4
我正在使用MySQL并拥有一个包含900万行的表,并希望快速检查是否存在记录(id).
根据一些研究,似乎最快的方法是以下sql:
SELECT EXISTS(SELECT 1 FROM table1 WHERE id = 100)
如何使用Laravel的查询构建器编写此代码?
小智 6
请参阅此处http://laravel.com/docs/4.2/queries
向下滚动到 Exists statements,您将得到您需要的内容
DB::table('users')
->whereExists(function($query)
{
$query->select(DB::raw(1))
->from('table1')
->whereRaw("id = '100'");
})
->get();
Run Code Online (Sandbox Code Playgroud)
使用类的selectOne方法Connection:
$resultObj = DB::selectOne('select exists(select 1 from your_table where id=some_id) as `exists`');
$resultObj->exists; // 0 / 1;
Run Code Online (Sandbox Code Playgroud)