CakePHP - основные проблемы и пожертвования для многих - PullRequest
0 голосов
/ 22 августа 2009

Я только изучаю CakePHP, мое простое приложение связывает две таблицы с отношением hasAndBelongsToMany. Я ожидал, что леса позволят мне связывать сообщения с тегами, но это не так.

Вот код:

SQL

CREATE TABLE  `posts` (
`id` INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`content` TEXT,
PRIMARY KEY (  `id` )
);

CREATE TABLE  `tags` (
`id` INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`name` VARCHAR( 100 ) DEFAULT NULL ,
PRIMARY KEY (  `id` )
);

CREATE TABLE  `posts_tags` (
`id` INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`post_id` INT( 11 ) UNSIGNED DEFAULT NULL ,
`tag_id` INT( 11 ) UNSIGNED DEFAULT NULL ,
PRIMARY KEY (  `id` )
);

содержимое папки моделей:

post.php

class Post extends AppModel {
var $name = 'Post';
var $hasAndBelongsToMany = array('Tag');
}

Tag.php

class Tag extends AppModel {
var $name = 'Tag';
var $hasAndBelongsToMany = array('Post');
}

содержимое папки контроллеров

posts_controller.php

class PostsController extends AppController {
var $name = 'Posts';
var $scaffold;
}

tags_controller.php

class TagsController extends AppController {
var $name = 'Tags';
var $scaffold;
}

В приложении я могу создавать / редактировать / удалять сообщения или теги, но нет возможности их связать.

edit: в моих скаффолдинговых представлениях нет нескольких вариантов выбора для привязки тегов к сообщениям и т. Д. Я использую v 1.2.4.8284.

Ответы [ 4 ]

0 голосов
/ 07 сентября 2009

Да, я могу подтвердить, что у меня была та же проблема в 1.2.4.8284 - т.е. все связи HABTM отсутствовали в формах скаффолдов.

Я вернулся к 1.2.3.8166, и он вернулся в нормальное состояние, как и должно быть.

0 голосов
/ 22 августа 2009

Это была ошибка в версии 1.2.4 - она ​​была исправлена ​​в версии 1.2.5

0 голосов
/ 22 августа 2009

да, есть проблема с версией 1.2.4. Я тоже сталкивался с подобной проблемой.

0 голосов
/ 22 августа 2009

В ваших представлениях в скаффолдах должен быть множественный выбор, чтобы вы могли связать теги с сообщениями и сообщения с тегами. Затем, когда вы просматриваете сообщение, вы видите связанные теги, а при просмотре тега отображаются связанные просмотры. Я использовал предоставленный вами код и смог получить эти результаты. Вы не видите то же самое?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...