Yii 2 Rest APiのドキュメントによると、CountriesCountry
は\yii\rest\ActiveController
に対応し、対応するCountries model
になります。これは私のControllerクラスのコードです。デフォルトYii 2 Rest APIを取得する方法
<?php
namespace app\controllers;
class CountriesController extends \yii\rest\ActiveController{
public $modelClass = 'app\models\Countries';
public function actionIndex(){
}
public function actionView(){
}
public function actionCreate(){
}
public function actionUpdate(){
}
public function actionDelete(){
}
public function actionOptions(){
}
}
私がGETリクエストを送信すると、それは私のデータベース内のすべての国を返します。私の質問
は、それが可能なアクション・メソッドから私自身の結果を返すことです。 actionIndex()
のように、結果を20レコードに制限したいと思います。私はこのようなことをやったが、うまくいかない。
public function actionIndex(){
$model = Countries::find()->limit(20);
print_r($model);
}
私はそれを介してデータベースとループによってからのすべての国を取得し、唯一の20の結果を得ることができることを知っているが、私はただ、データベースから20件のレコードを照会します。
[あなたはlimit()とoffset()を試していますか?](http://www.yiiframework.com/doc-2.0/guide-db-query-builder.html#limit-offset) ://stackoverflow.com/a/32156285/3585500)。 – ourmandave
あなたのAPIリンクに制限を入れ、その制限をコントローラに入れ、$ models = Countries :: find() - > limit($ _ GET ['limit]); –