Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii2:将函数值的返回值保存到数据库_Php_Yii2 - Fatal编程技术网

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

Php Yii2:将函数值的返回值保存到数据库,php,yii2,Php,Yii2,我在PatientDetail.php模型中创建了一个函数 这个函数运行良好并返回所需的值,但我无法将其保存到数据库中 public function getRoomCategory(){ $model = \app\models\RoomCategory::find('id') ->innerJoin('room_charges','room_charges.room_category=room_category.id') ->innerjoin('p

我在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\u category(){}
,但是在my\u 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);
        }

这背后的逻辑是什么?因为根据你的密码,看起来
room\u category
应该是一个关系。我在上面的模型中创建了一个函数
getRoomCategory
,并将其作为
包含在我的表单中。我有一个字段
room\u category
,我想用函数
getRoomCategory
Trace:~if($Model->($validate)返回的值保存在数据库中){$model->save();}其他{var_dump($model->errors);}~