【问题标题】:cakePHP - can i save ONLY the associated models data using save()?cakePHP - 我可以使用 save() 只保存关联的模型数据吗?
【发布时间】:2011-11-16 01:50:03
【问题描述】:

我可以使用$this->ModelName->AssociatedModel->save($this->data) 只保存相关数据吗?

如果不是 - 我有什么选择?

数据结构为:

$this->data['AssociatedModel']['field_a'] = 'some value';
$this->data['AssociatedModel']['field_b'] = 'some other value';

【问题讨论】:

    标签: cakephp model save model-associations


    【解决方案1】:

    好吧,我在这里使用了一个 User HABTM ROLE 用例,其中 User 表是一个只读的 db 视图。 接受的解决方案在 cake2.x 上对我不起作用

    最后我选择了以下 AppModel 方法:

    public function saveHabtmOnly($data, $parent_id) {
        $this->_saveMulti($data, $parent_id, $db=$this->getDataSource());
        // _saveMulti has no failure signaling
        // probably just throws Exception
        return true;
    }
    

    在哪里 $data = array('Role'=>array(...)); $parent_id 是用户的id

    【讨论】:

      【解决方案2】:

      是的,您可以这样保存相关数据。

      【讨论】:

      • 好吧,我问,因为我正在尝试这样做,但它不会。没有验证错误,也没有任何错误......只是不会保存(sql日志显示没有尝试这样做)
      • 好吧,现在它正在工作..我认为不需要提供 $this->data 参数,认为它是由机制暗示的..我错了。谢谢
      猜你喜欢
      • 2013-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-21
      • 1970-01-01
      • 2011-08-01
      相关资源
      最近更新 更多