CakePHP在beforeSave中获取关联数据

时间:2012-08-20 09:03:37

标签: cakephp

有人看到我做错了吗?

保存时$brand['slug']为空,所以我猜在查找查询中出现了问题。

提前致谢。

public function beforeSave() {
    if (isset($this->data['Smartphone']['model'])) {

        $brand = $this->Brand->find('first', array(
            'conditions' => array(
                'Brand.id' => $this->data['Smartphone']['brand_id']
            )
        ));

        $this->data['Smartphone']['slug'] =  $brand['slug'].'-'.Inflector::slug(strtolower($this->data['Smartphone']['model']), '-');
    }
    return true;
}

1 个答案:

答案 0 :(得分:1)

它的外观,我认为您应该使用$brand['Brand']['slug']代替$brand['slug']

您可以尝试在您编写的查询查询后立即使用pr($brand);打印$ brand数组。并相应地提供数组索引。