Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Konwertuj to zapytanie na elokwentne

Twój model będzie wyglądał mniej więcej tak w Laravel 4. L3 jest prawdopodobnie dość podobny, ale nie mam z tym żadnego doświadczenia.

<?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);
    }
}

Pamiętaj, że nigdy nie umieszczasz skomplikowanej (lub żadnej) logiki bazy danych w kontrolerze, zawsze za widokiem.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przykłady REGEXP MySQL

  2. SQL Inner Join – Jak połączyć 3 tabele w SQL i MySQL

  3. Jak wstawić wiele wierszy do bazy mysql na raz z przygotowanymi zestawieniami?

  4. Optymalne zapytanie do pobrania skumulowanej sumy w MySQL

  5. Zaktualizuj tabelę z innej tabeli i innej bazy danych