0

到目前为止,这是 cakePHP 的一部分,让我的大脑感到困惑。

对于这个例子,我有 2 个表。vw_penkits 和 vw_busings

vw_penkits 有一个字段 vw_busing_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 index()

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 来创建一个选择列表,以便用户可以将笔套件与其衬套相关联。

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

在此先感谢迈克

4

2 回答 2

0

我不是 100% 确定,但这可能与您在查找中的递归值有关。如果设置为 0,那么它只会找到第一级。您需要将其设置为 1 或 2,具体取决于您要查找的深度。

我强烈建议使用 ContainableBehaviour。它会让你的生活轻松很多。

这里

于 2015-04-10T22:29:57.980 回答
0

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

谢谢迈克

于 2015-05-13T12:38:17.473 回答