2013-11-21 5 views
0

Я следующую структуру моей базы данных:Запросы базы данных из PHP

enter image description here

И я создал пользовательский класс в PHP, который имеет следующие атрибуты:

public $user_id; 
public $first_name; 
public $last_name; 
public $password; 
public $job; 
public $department; 

Тогда в моем коде , Я планирую иметь $ job и $ department, чтобы быть объектами, называемыми Job and Department.

В классе пользователя у меня есть метод, называемый загрузкой пользовательских данных. Сначала я получаю все пользовательские данные, но потом я изо всех сил пытался, как я должен делать свои запросы для получения информации для отдела и задания (по id), должен ли я иметь один запрос (используя суставы) для загрузки всех данных и создания моего объекта из этих данных или Я должен выполнять запросы для задания и отдела как этот

$this->department = new Department($this->dbc, $userData['department_id']); 
    $this->job = new Job($this->dbc, $userData['job_id']); 

Где внутри каждого объекта, запрос выполняется и извлекает данные?

+0

Ваш текущий подход к загрузке каждого объекта индивидуально, по-видимому, является хорошей идеей ИМО – Joel

ответ

0

Если вы хотите, чтобы Job и Department были объектом, вы смотрите на использование любого из этих методов. Если вы решите использовать соединения в своем SQL-запросе, вы будете работать только с одним объектом, содержащим весь набор результатов вашего SQL-запроса, то есть вам нужно будет только открыть и закрыть одно соединение. Если вы решите не использовать соединения, вы будете возвращать свои поля id, а затем запрашивать таблицы Job и Department, открывая и закрывая хотя бы еще два соединения.

Лично я хотел бы использовать один запрос, вернуть один массив, который будет храниться в памяти, а затем ваши объекты Job и Department просто вытащить из этого массива. Он уменьшает количество подключений и снижает требования к обработке.

Смежные вопросы