Я настраиваю отношения в своих моделях с помощью DataMapper, но я ударил стену.Codeigniter Datamapper отношения многие-ко-многим
У меня есть класс RealEstate
, класс Client
и класс Position
, который имеет отношение ко многим.
Client
может иметьPosition
'покупателя' вRealEstate
- Same
Client
может иметьPosition
'продавец' в другойRealEstate
Так для данного RealEstate
легко найти все Clients
s, но как я могу также включить то, что Position
у этих клиентов есть для конкретного RealEstate
?
Итак, у меня есть класс RealEstate, класс Position и класс Client. В RealEstate есть несколько позиций, прикрепленных к нему (вы можете посмотреть на них как на группы. Эти позиции содержат клиентов. Например, в RealEstate APPARTMENT1 клиент John Doe находится в позиции как владелец. Но он может находиться в другой позиции для другого RealEstate ! в моей базе данных у меня есть - RealEstates - Клиенты - Позиционирует - Clients_Positions (многие ко многим) - Positions_RealEstates (один ко многим) Как я могу получить все клиенты, которые имеют позиции при заданном RealEstate.Если также должна быть таблица Clients_RealEstates? – Simon
Я так не думаю. Необработанный запрос - это что-то вроде 'select * от клиентов c join clients_positions cp где cp.estate_id = $ estate_id'. Я не знаком с CI DataMapper lib, поэтому не могу преобразовать этот запрос в код DataMapper, извините. :) – J0HN
Привет @ J0HN, мне удалось исправить это сам. Таким образом, я нормализовал отношение многих к многим отношениям между Клиентом и Контрактом, имуществом и контрактом, а также положением и контрактом. Таблица контрактов и модель имеют id/foreignkeys всех других объектов и знают, какой из них связан. Спасибо за ваш вклад! – Simon