1

您好,我在使用 HABTM 和 Form 时遇到了一些问题。我正在使用 CakePHP 2.3 和 PHP 5.3.3

这是我理解场景的代码情况:与 HABTM 关系相关的专辑和单曲。专辑包含许多单曲,单曲属于许多专辑。

Model Album.php(不要关心葡萄干:是我个人的图片管理插件)

App::uses('Raisin', 'Raisins.Model');
App::uses('PastryBehavior', 'Raisins.Model/Behavior');

class Album extends AppModel
{
public $name = 'Album';

public $actsAs = array(
    'Tags.Taggable',
    'Utils.Sluggable' => array(
        'label'     => 'title'
    ),
    'Raisins.Pastry',
    'SrEngine.Indexable',
    'SrEngine.HitCounter'
);

public $hasOne = array(
    'Image' => array('className' => 'Raisins.Raisin')
);

public $hasAndBelongsToMany = array(

    'Single' 

);

public $belongsTo = array(
    'Users.User'
);

}

控制器 AlbumsController.php(编辑部分)

$this->request->data = $this->Album->read(null, $id);
$this->set('singles',$this->Album->Single->find('list'));

看法

<?php echo $this->Form->input('Single',array('class' => 'span12','label' => 'Singoli' ) ); ?>

在视图中,我看到从来自控制器单打集的值填充的选择,但先前保存的选定项目未突出显示。考虑到数据库中的 habtm 表包含使用保存的数据填充的正确行。我在中间的某个地方读到,2.3 之前的一些以前版本的 cake 曾经有一些与 habtm 表单选择输入相关的问题。我非常坚持这一点,因为我几乎尝试了所有已知的解决方法,但没有对任何积极影响进行排序。任何帮助,提示将不胜感激。提前致谢

鲁迪

4

0 回答 0