0
残りのAPIを介してモバイルデバイスにデータを提供するアプリケーションを作成しました。 私は、キー(Foreign/Index)を介してそれらの間に確立された関係に基づいて、さまざまなテーブルからデータを取得しています。ActiveDataProviderがREST APIの他のパラメータとマージした場合、実際のデータを返さない - Yii2
テーブルから必要なデータを抽出するのに、ActiveDataProvider
を使用しています。
$dataProvider = new ActiveDataProvider([
'query'=>$query
]);
これは私が設定されたクエリに基づいて、偉大な作業と次のように私はそれを返すとき、私は、必要に応じてJSON
形式でデータを返している:私が欲しいもの
return $dataProvider;
は次のとおりです。
- このActiveDataProviderのデータを他のデータとともに返します。 1つのオブジェクト内のActiveDataProviderのすべてのデータと同様に、他のデータは別のオブジェクトのフラグ値を示します。たとえば、
:私のようにそれを返すとき
[
"some_other_data":{
-----
},
"dataProvider": {
"device_id": "552255445511",
"dated": "2016-03-15 23:00:04",
"speed": "73.30",
"power": null,
"ignition": null,
"ac": null,
"address": "52",
"latitude": "30.4575",
"longitude": "76.1",
"devices": {
"vehicle_number": "UK 6S Z 5555",
"vehicle_type": "0"
}
}
]
問題がされています
return array('some_other_data'=>$somedata, 'dataProvider'=>$dataProvider);
、結果は同様である:
{
"some_other_data": 0,
"dataProvider": {
"query": {
"sql": null,
"on": null,
"joinWith": null,
"select": null,
"selectOption": null,
"distinct": null,
"from": null,
"groupBy": null,
"join": null,
"having": null,
"union": null,
"params": [],
"where": {
"tk103_current_location.device_id": {
"sql": null,
"on": null,
"joinWith": null,
"select": [
"device_id"
],
"selectOption": null,
"distinct": null,
"from": null,
"groupBy": null,
"join": null,
"having": null,
"union": null,
"params": [],
"where": {
"transporter_id": 22
},
"limit": null,
"offset": null,
"orderBy": null,
"indexBy": null,
"modelClass": "api\\modules\\v1\\models\\Tk103Devices",
"with": null,
"asArray": null,
"multiple": null,
"primaryModel": null,
"link": null,
"via": null,
"inverseOf": null
}
},
"limit": null,
"offset": null,
"orderBy": null,
"indexBy": null,
"modelClass": "api\\modules\\v1\\models\\Tk103CurrentLocation",
"with": null,
"asArray": null,
"multiple": null,
"primaryModel": null,
"link": null,
"via": null,
"inverseOf": null
},
"key": null,
"db": null,
"id": null
}
}
すなわちActiveDataProviderが戻っています実際の結果ではなく、結果のデータのようなスキーマ
このdataProviderにデータを返そうとしているアーキテクチャではなく、実際のデータを返すように指示する手がかりやヒントを教えてください。
素晴らしいお試しください..しかし、私は私が私の心を失ったと思います。私はドキュメンテーションを何度も見てきましたが、getModels()を見ていませんでした。ありがとう、相棒。そんな小さなことだったし、私はそれを得ていなかった。 +1 – Choxx
yii \ rest \シリアライザ行#172、yii2は、残りのコントローラで同じことをしました。 :) –