помощь с внешними ключами cakephp

#php #cakephp

#php #cakephp

Вопрос:

в настоящее время я создаю календарь, в котором отображаются события, каждое событие принадлежит местоположению события с внешним ключом event_location_id, каждое местоположение события имеет множество событий с внешним идентификатором event_location_id. Который получает имя event_location на основе его идентификатора. Теперь я добавляю побочные предложения, и я могу получить только event_location_id, а не имя, кто-нибудь может помочь? или, возможно, дайте лучшее объяснение того, для чего нужны внешние идентификаторы и что они делают.

мне просто нужно знать, как получить событие по его идентификатору, а затем получить event_location_id из события, а затем получить имя из таблицы event_locations в соответствии с event_location_id.

Комментарии:

1. было бы неплохо, если бы вы могли использовать некоторые знаки препинания, а также показать свой код, чтобы мы могли вам лучше помочь

Ответ №1:

Я бы предложил использовать сдерживаемое поведение. Он будет управлять рекурсией за вас. Containable будет достаточно хорошим для большинства целей, если только запрос не очень сложный.

Ответ №2:

Если вы правильно настроили свои ассоциации, это должно быть так просто, как:

 $this->Event->recursive = 2;
$event = $this->Event->read(null, $id);

debug($event);
  

Cake автоматически извлекает данные для связанных моделей.

Комментарии:

1. @josh Это сообщает Cake, сколько слоев ассоциаций нужно извлечь, и на самом деле вам, вероятно, это даже не нужно. Я предлагаю вам изучить руководство: book.cakephp.org/view/1063/recursive