1

В CakePHP, я пытаюсь построить отношения $ hasOne, но я не могу добавить внешний ключ к таблицам (по старым причинам). Есть ли способ создать таблицу соединений (object1_object2) и связать их вместе? Я хочу использовать мощные функциональные отношения с Cake, поэтому, если есть способ сделать эту пользовательскую связь постоянной во всей модели, не создавая собственный массив $ options для каждой find(), это было бы здорово. (Может быть, bindModel в моделировании initize()?)CakePHP - Custom hasOne Object Association - Использование таблицы Join вместо внешних ключей в таблице?

Спасибо!

ответ

0
+0

Это похоже на более стандартные объектные отношения. Мне нужно построить пользовательские отношения, не используя внешний ключ, который требует Cake. Я бы хотел использовать таблицу Join для отношения hasOne. – Harry

2

Если вы хотите использовать таблицу соединений, я считаю, что вам придется использовать отношения hasAndBelongsToMany (HABTM), даже если у вас никогда не будет «много». Данные, очевидно, будут отличаться от стандартных отношений hasOne, но, по крайней мере, отношения будут существовать.

Возможно, существует способ обойти его, используя поле «условия» отношения hasOne, но я подозреваю, что вам все равно нужно указать внешний ключ (или он по умолчанию будет «object2_id») в любом случае, и он, вероятно, останется попытайтесь сделать соединение на основе этого внешнего ключа.