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

时间:2014-12-19 09:54:11

标签: php yii2

我在我的模型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();
            }

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

1 个答案:

答案 0 :(得分:0)

似乎模型的规则验证不允许您保存它,所以如果你想保存而不进行验证,你可以这样做:

if(isset($_POST['RoomCategory'])){

   $RoomCategory = $_POST['RoomCategory'];

   $model->room_category=$RoomCategory;
   $model->save(false);
        }