我正在使用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;
有什么方法可以解决我的问题?
答案 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