आपका मॉडल Laravel 4 में कुछ इस तरह दिखने वाला है। L3 शायद काफी हद तक एक जैसा है लेकिन मुझे इसका बहुत कम अनुभव है।
<?php
class Restaurant extends Illuminate\Database\Eloquent\Model
{
protected $table = 'restaurants';
public function getSomeShit()
{
return $this
->select('*')
->select(DB::raw('( 3959 * acos( cos( radians(21.420639) ) * cos( radians( lat ) ) * cos( radians( lon ) - radians(-157.805745) ) + sin( radians(21.420639) ) * sin( radians( lat ) ) ) ) AS distance'))
->groupBy('id')
->having('distance', '<', 25)
->having('ratingsTotal', '>', 0)
->orderBy('distance')
->limit(5);
}
}
याद रखें, कि आपने कभी भी जटिल (या कोई भी) डेटाबेस तर्क को नियंत्रक में नहीं रखा है, हमेशा एक दृश्य के पीछे।