2016-02-29 4 views
-2

Как я могу запросить заданный sql в Larvel 5.1 eloquent builder?Laravel Eloquent Query Builder

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

Вы пробовали что-нибудь или искали вообще? На самом деле это довольно просто. – James

+1

Сначала вы должны попробовать себя, и если вы не поможете, обратитесь за помощью. но, по крайней мере, продемонстрировать некоторые усилия, это простой запрос на сборку. например, читать laravel docs. –

+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 
Смежные вопросы