Хобрук: Ваш путь к мастерству в программировании

Выберите определенные столбцы из репозитория в Doctrine 2.

Во-первых, мы знаем, что в зависимости от количества столбцов в запросе может увеличиться время ответа.

В Doctrine вызовите следующее хранилище, которое имеет связь и содержит все столбцы обеих сущностей.

public function index()
{
     $this->students = $this->model->getRepository()->findAll();
}

Но если подумать об утверждении, которое я дал ранее, возврат этого репозитория занимает больше времени, чем если бы это было не-отношение?

И другие вопросы. Могу ли я выбрать столбцы, которые я хочу вернуть в этот репозиторий? Например, репозиторий возвращает выше:

id (student organization)
name (student organization)
id_class (class entity)

Но я хотел бы вернуть только имя ученика. В качестве примера:

public function index()
{
     $this->students = $this->model->getRepository()->findAll()->onlyColumns("name");
     // Or so to catch more than one column
     $this->students = $this->model->getRepository()->findAll()->onlyColumns("name, dateOfBirth");
}

Ответы:


1

То, что вы хотите использовать, это queryBuilder:

http://doctrine-orm.readthedocs.org/en/latest/reference/query-builder.html

когда вы делаете ->findAll() в репозитории, он идет прямо к базе данных и извлекает все (короче говоря). Чтобы манипулировать тем, что вы получаете из базы данных, вы должны сделать:

$repo->createQueryBuilder()
->select('column1,column2')
->getQuery()
->getResult();
02.01.2015
Новые материалы

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

Обзор: Машинное обучение: классификация
Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

Разработка расширений Qlik Sense с qExt
Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..