1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <?php
- namespace common\util;
- use Yii;
- use yii\base\InvalidConfigException;
- use yii\db\ActiveRecord;
- trait ActiveRecordHelper
- {
- /**
- * @throws InvalidConfigException
- */
- public function getParams($key)
- {
- // if (Yii::$app->request->isPost) {
- // return Yii::$app->request->getBodyParam($key);
- // } else {
- // return Yii::$app->request->getQueryParam($key);
- // }
- $params = array_merge(Yii::$app->request->getBodyParams(), Yii::$app->request->getQueryParams());
- return $params[$key] ?? null;
- }
- /**
- * @return array
- * @throws InvalidConfigException
- */
- public function getAllParams(): array
- {
- // if (Yii::$app->request->isPost) {
- // return Yii::$app->request->getBodyParams();
- // } else {
- // return Yii::$app->request->getQueryParams();
- // }
- return array_merge(Yii::$app->request->getBodyParams(), Yii::$app->request->getQueryParams());
- }
- /**
- * 自动添加get或者post参数到更新属性列表里
- * @param ActiveRecord $model
- * @return void
- * @throws InvalidConfigException
- */
- public function setAttributeFromGetAndPost(ActiveRecord $model): void
- {
- $all = $this->getAllParams();
- foreach ($all as $key => $value) {
- if ($model->hasAttribute($key)) {
- $model->setAttribute($key, $value);
- }
- }
- }
- }
|