2015-07-10 134 views
3

首先對不起英語的朋友抱歉!通過Yii2上的其他字段進行過濾RESTful API

我在YII2中測試了一個RESTful API,它很容易創建,遵循official guide。但默認情況下(據我所知),我只能通過ID作爲參數來獲得特定的記錄。

例如,假設我有以下的表稱爲
id, name, age, gender, email, phone

在這種情況下,我只能通過ID過濾器,像這樣:http://myserver/api/persons/1

我需要知道如何以其他字段進行過濾,例如年齡性別例如。

我的控制器:

class PersonController extends ActiveController 
{ 
    public $modelClass = 'app\models\Person'; 
} 

謝謝!

回答

4

由默認的indexAction其在ActiveController類實現不通過屬性支持過濾返回的ActiveDataProvider實例:


應用程序/供應商/ yiisoft/yii2 /休息/IndexAction.php:

(...) 

protected function prepareDataProvider() 
{ 
    (...) 

    return new ActiveDataProvider([ 
     'query' => $modelClass::find(), 
    ]); 
} 

您需要用自定義代碼覆蓋它。這裏是它是由返回ActiveDataProvider例如覆蓋由GII「建於搜索模型類一個例子:check this link

+0

它的工作! 非常感謝你! – jflizandro

+0

不客氣! –

相關問題