cakePHP需要一对一的协会帮助

时间:2015-04-09 15:46:46

标签: relationship one-to-one model-associations cakephp-2.x

到目前为止,这是cakePHP的一部分,它使我的简单大脑难以理解。

我有这个例子2个表。 vw_penkits和vw_bushings

vw_penkits有一个字段vw_bushing_id

以下是模特:

class VwPenKit extends AppModel {
    var $name = 'VwPenKit';
    var $useTable = 'vw_pen_kits';

    public $hasOne = 'VwBushing';
}

class VwBushing extends AppModel {
    var $name = 'VwBushing';
    var $useTable = 'vw_bushings';

    public $belongsTo = array (
        'PenKit' => array (
            'classname' => 'VwPenKit',
            'foreignKey => 'vw_bushing_id'
            )
        );
}

这是VwPenKitsController索引()

public function index() {

    $this->loadModel('VwBushing');
    $bushings = $this->VwBushing->find('list');
    $this->set(compact('$bushings'));

    $this->set('penkits', $this->VwPenKit->find('all'));
}

这是index.ctp的代码部分

<td><?php echo $penkit['VwPenKit']['kit_name']; ?> </td>
        <td><?php echo $penkit['VwPenKit']['kit_description']; ?> </td>
        <td><?php echo $penkit['VwBushing']['code']?></td>
        <td><?php echo $penkit['VwPenKit']['modified']; ?> </td>

渲染时出现错误

笔套数据库 版本0.1

零件编号套件名称说明套管修改的操作 DK-PKCP8020螺栓行动笔(30 Cal)
注意(8):未定义索引:VwBushing [APP / View / VwPenKits / index.ctp,第46行] 2015-04-07 11:00:00查看编辑删除 创建人:Mike Marek

联系信息:mike@thewoodartiststudio.com。

©2015 The Wood Artist Studio - 保留所有权利 一旦我弄明白,我需要一个add.ctp和edit.ctp来创建一个选择列表,以便用户可以将笔套件与其套管相关联。

我还没有足够的状态发布图片

提前致谢 麦克

2 个答案:

答案 0 :(得分:0)

我不是100%肯定,但它可能与您的查找中的递归值有关。如果它设置为0,那么它只会找到第一级。您需要根据想要的深度将其设置为1或2。

我强烈建议您使用ContainableBehaviour。它会让你的生活变得更轻松。

here

答案 1 :(得分:0)

我确实解决了这个问题,它基本上是一个模型问题。一旦我的关系正确,一切正常。

由于 麦克