Yii2:将函数值的返回值保存到数据库


Yii2: Saving return values of function value to Database

我在我的模型中创建了一个函数PatientDetail.php。

此函数运行良好并返回所需的值,但我无法将其保存在数据库中。

public function getRoomCategory(){
     $model = 'app'models'RoomCategory::find('id')
     ->innerJoin('room_charges','room_charges.room_category=room_category.id')
     ->innerjoin('patient_detail', 'room_charges.id = patient_detail.bed_type')               
     ->Where(['patient_detail.id'=> $this->id])->one();
     return $model;
   }

我在模型中有一个字段/列作为"room_category",我想将函数getRoomCategory的返回值保存在数据库中。

我尝试创建具有相同名称的函数,例如 getroom_category(){} ,但是我在_form.php的表单字段中没有得到任何值

我也在我的控制器中尝试过,例如:

if(isset($_POST['RoomCategory'])){
                $RoomCategory = $_POST['RoomCategory'];
            $model->room_category=$RoomCategory;
            $model->save();
            }

将计算值保存到数据库的最佳方法是什么?感谢您的宝贵指导。

似乎模型的规则验证不允许您保存它,因此如果您想在没有验证的情况下保存它,您可以这样做:

if(isset($_POST['RoomCategory'])){
   $RoomCategory = $_POST['RoomCategory'];
   $model->room_category=$RoomCategory;
   $model->save(false);
        }