Если я уже использую PDO, то в чем преимущество дальнейшего абстрагирования запросов SELECT в Eloquent ORM Laravel?

Рассмотрим следующие запросы READ и WRITE:

Читать

// Retrieves a person (and their active game score if they have one) $sql = "SELECT CONCAT(people.first_name,' ',people.last_name) as 'name', people.uniform as 'people.uniform', games.score as 'games.score' FROM my_people as people LEFT JOIN my_games as games ON(games.person_id = people.id AND games.active = 1) WHERE people.id = :id"; $results = DB::select(DB::raw($sql),array("id"=>$id)); 

Написать

  // Saves a person $person = new People; $person->data = array('first_name'=>$input['first_name'], 'last_name'=>$input['last_name'], 'uniform'=>$input['uniform']); $personID = $person->save(); // Save the game score $game = new Games; $game->data = array('person_id'=>$personID, 'active'=>$input['active'], 'score'=>$input['score']); $game->save(); 
  • Я помещаю каждую операцию записи (INSERT / UPDATE) в свои собственные классы централизованного репозитория и вызываю их с помощью методов class->, как показано выше.
  • Я могу решить поставить некоторые из прочитанных запросов в классы репозитория, если я снова и снова пользуюсь запросом (DRY). Я должен быть осторожным, потому что я, как правило, возвращаюсь назад и немного корректирую запрос на чтение, чтобы получить более или менее данные в определенных областях моего приложения.
  • Многие из моих запросов на чтение – это динамические запросы (исходящие из фильтров и сортируемых данных).
  • В прочитанных запросах обычно будут такие сложные вещи, как SUM, COUNT, ORDERING, GROUPING, COMPOSITE и т. Д.

Поскольку мои чтения настолько разнообразны, зачем мне нужно их абстрагировать в Eloquent ORM от Laravel (или любой ORM), тем более, что я использую PDO (который имеет 12 разных драйверов баз данных)? Единственное преимущество, которое я могу видеть на данный момент, – это если я захочу переименовать поле базы данных, тогда это будет проще сделать с помощью ORM. Я не желаю платить цену за большую абстракцию / неясность за это.

Solutions Collecting From Web of "Если я уже использую PDO, то в чем преимущество дальнейшего абстрагирования запросов SELECT в Eloquent ORM Laravel?"