基于开关情况动态加载模型时CakePHP保存不工作

基于开关情况动态加载模型时CakePHP保存不工作,php,cakephp,Php,Cakephp,这是我的示例代码: switch($topic_type) { case 1: //post $model = 'Userposts'; $field_name = 'user_post_id'; $select_name = 'post_title'; break; } $model = ClassRegistry::init($model); $model->alias = 'TP'; $model->id

这是我的示例代码:

switch($topic_type) {
    case 1: //post
        $model = 'Userposts';
        $field_name = 'user_post_id';
        $select_name = 'post_title';
        break;
}
$model = ClassRegistry::init($model);
$model->alias = 'TP';
$model->id = $topic_id;
$result = $model->find('first',
            array(
                'conditions'=>array($field_name=>$topic_id),
                'fields'=>array($select_name.' as topic',$field_name.' as id'),
                ));
 if(!empty($result)){
    $this->updata[$model_name][$select_name] = $modified_topic;
    $this->updata[$model_name][$field_name] = $topic_id;
        if($model->save($this->updata)){
            $respArr['token'] = $token; 
            $respArr['status'] = 1; 
            $respArr['msg'] = 'Success'; 
            echo json_encode(array('token' => $token, 'status' => 1, 'msg' => 'Success'));exit;
        }
 }
$model->find正在工作,正在获取结果,其中$model->save after find不工作


字段\u name是主键,选择\u name是修改标题后要更新的保存。

使用变量
$model
而不是
$model\u name
进行更新data@Sadikhasan我最初使用它,但ti抛出错误,因为$model是model对象,而不是字符串model\u name是字符串,它包含与“Userposts”您的模型应该是
$model='Userpost'
而不是
$model='Userposts'。请更正您的型号名称。