хорошо,
У меня есть 3 таблицы с внешними ключами на аналогичные слова:
реляционных баз данных с PHP
назначения:
idassignment,
idshift
idworker
Смещение:
idshift
имя
работник:
idworker
имя
Я сделал выбор (с помощью объединений, где это необходимо), который принимает все соответствующие данные из них.
Я хочу создать массив, похожий на структуру БД.
Сегодня я просто перебираю задания и использую ключи из этой таблицы
, чтобы посмотреть в смену и рабочий.
любой комментарий поможет.
пример:
(игнорировать поля, не указанные в конце примера) Я использую этот SQL:
SELECT
`assignment`.`assignmentid`,
`assignment`.`date`,
`assignment`.`shiftid`,
`assignment`.`workerid`,
`shift`.`ShiftsID`,
`shift`.`WorkersNum`,
`shift`.`ShiftsType`,
`shift`.`length`,
`worker`.`WorkerID`,
`worker`.`FirstName`,
`worker`.`LastName`,
`worker`.`Email`,
`worker`.`phone`
FROM `mydb`.`assignment` LEFT JOIN `mydb`.`shift` ON ShiftsID=shiftid
LEFT JOIN `mydb`.`worker` USING (`workerid`)
с этими данными:
assigment
(1,1,1),
(2,2,1),
(3,2,2)
shift
(1,"morning")
(2,"lunch")
worker
(1,"john")
(2,"doe")
и я хочу массив смотреть таких как:
Array
{
[0]=>Array
{
[assignmentID]==>1;
[shift]==>Array
{
[shiftid]=1;
[name]="morning";
}
[worker]==>Array
{
[idworker]=1;
[name]="john";
}
}
[1]=>Array
{
[assignmentID]==>2;
[shift]==>Array
{
[shiftid]=2;
[name]="lunch";
}
[worker]==>Array
{
[idworker]=1;
[name]="john";
}
}
[2]=>Array
{
[assignmentID]==>3;
[shift]==>Array
{
[shiftid]=2;
[name]="lunch";
}
[worker]==>Array
{
[idworker]=2;
[name]="doe";
}
}
}
Я просто использовал функцию для каждой таблицы, которая возвращает мне массив для нее.
function shift(id)
function worker(id)
и я пересекаю назначение между датами. и назовите их и поместите их в массив;
Просьба привести пример того, что вы хотите. –
Я не большой поклонник или ORM.Но, возможно, ORM, как Doctrine (http://www.doctrine-project.org/), может помочь вам, если вы не знакомы с БД. – t00ny
, пожалуйста, предоставьте то, что вы в настоящее время сделали - облегчает помощь –