Yii2 Restful API:使用特定条件SQL

时间:2015-05-23 08:28:41

标签: json api rest yii2

我正在使用Yii2 restful API,并希望将数据显示为JSON格式。这是我的结构数据库

TABLE `volunteer`(
`volunteer_id` int(11) NOT NULL auto_increment,
`state_id` int(11) null
`nama` varchar(200) null

TABLE `state`(
`state_id` int(11) NOT NULL auto_increment,
`state` varchar(225) null

基本上,当我在具有特定ID = 1(http://localhost/KDMA/web/index.php/volunteers/1)的浏览器上运行时,数据将显示如下:

{
   "volunteer_id": "1",
   "state_id":"12",
   "nama": "Bentong",
}

该结果显示来自volunteer_id = 1的数据。因此,我现在要做的是显示来自state_id的数据,而不是来自volunteer_id 。例如在SQL中:

SELECT * FROM volunteer where state_id = 12;

有什么方法可以解决我的问题?

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,我认为你可以解决问题如下: 尝试在控制器中添加另一个方法,执行您需要的操作,例如在volunteerController

public function actionViewByState ($ id)
   {

     if (($ model = State :: findOne ($ id))! == null) {
         $ this-> setHeader (200);
     echo json_encode (array ('status' => 1, 'date' => array_filter ($ model-> attributes)), JSON_PRETTY_PRINT);
     } Else {

       $ this-> setHeader (400);
       echo json_encode (array ('status' => 0, 'error_code' => 400, 'message' => 'Bad request'), JSON_PRETTY_PRINT);
       exit;
     }
   }

然后使用

调用操作
  http: //localhost/KDMA/web/index.php/volunteers/view-by-state/1