2016-02-29 114 views
-2

如何在Laravel 5.1雄辩生成器中查询给定的sql?Laravel雄辩查询生成器

"SELECT referer, count(referer) AS listRefererCount FROM sss_options WHERE shorturl=:shorturl GROUP BY referer" 
+0

你尝试过什么或搜索呢?查询其实很简单。 – James

+1

你应该先试试自己,如果你失败了,那就请求帮助。但至少表现出一些努力,这是一个简单的查询构建。例如阅读laravel文档。 –

+0

如果我可以,我不会问Stackoverflow。如果你真的可以帮忙,请给我我的答案。 谢谢 –

回答

2

这是给你的。

YourModel::select('referer',DB::raw('count(referer) AS listRefererCount') 
->where('shorturl','=',$variable) 
->groupBy('referer') 
->get(); 
+0

谢谢你,就是这样。 –

0
// "SELECT referer, count(referer) AS listRefererCount FROM sss_options WHERE shorturl=:shorturl GROUP BY referer" 
// this is the model class 
class SssOptions extends \Illuminate\Database\Eloquent\Model 
{ 
    protected $table = 'sss_options'; 

} 


// below is the query builder 
$q = SssOptions::query(); 
$shorturl = 'your cond'; 
$q->getQuery() 
    ->select(['referer', new \Illuminate\Database\Query\Expression('count(referer) AS listRefererCount')]) 
    ->where('shorturl', $shorturl) 
    ->groupBy('referer') 
; 

var_dump($q->toSql()); // the sql 
var_dump($q->get()); // the result