WRestCreateAction.php
791 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
/**
* @author Weavora Team <hello@weavora.com>
* @link http://weavora.com
* @copyright Copyright (c) 2011 Weavora LLC
*/
class WRestCreateAction extends CAction
{
public $scenario = '';
public function run()
{
$requestAttributes = Yii::app()->request->getAllRestParams();
$model = $this->controller->getModel($this->scenario);
$paramsList = $model->getCreateAttributes();
$attributes = array();
foreach ($paramsList as $key) {
if (isset($requestAttributes[$key])) {
$attributes[$key] = $requestAttributes[$key];
}
}
$model->attributes = $attributes;
if ($model->save()) {
$this->controller->sendResponse(200, $model->getAllAttributes());
} else {
$this->controller->sendResponse(500, array('errors' => $model->getErrors()));
}
}
}