CakePHP Ассоциации, контейнеры и потоки - PullRequest
0 голосов
/ 16 января 2012

Привет У меня есть пара вопросов относительно ассоциаций и как они играют в случаях комплекса find () звонки.

  • Если у меня есть модель Пост и модель Комментарий , причем последний имеет поле parent_id и я хочу получить сообщение с соответствующими комментариями, я просто выполняю find ('threadaded', ...) on Post сам или это приведет к ошибке, потому что Post не есть parent_id ? Меня особенно беспокоит Containable + Threaded find . ( пример, который я привожу здесь, является упрощенной версией того, что мне действительно нужно реализовать)

  • Каково значение Ассоциативных названий ? Работает ли Containable с именами ассоциаций или названия моделей? (причина, по которой я хочу это знать, заключается в том, что я пытаюсь реализовать полиморфные модели, имея ассоциации моделей с конкретными условиями, часто имеющие несколько ассоциаций с одной моделью)

1 Ответ

1 голос
/ 16 января 2012
  • Я думаю, что , что вмещаемое не будет поддерживать резьбовые находки в содержащихся моделях. Например, в вашей таблице comments может быть столбец post_id и что-то вроде:

    $ this-> Comment-> find ('Thread', массив ( 'условия' => массив ( 'post_id' => 5)));

  • Хотя в книге может быть сказано, что Containable использует имя модели, я регулярно использовал имя ассоциации в Containable, когда у меня есть несколько объединений между одними и теми же моделями. Для простых проектов имя модели обычно совпадает с именем ассоциации, поэтому, возможно, поэтому в книге говорится об этом.

...