için diğer parametrelerle birleştirildiğinde gerçek verileri geri getirmiyor Mobil cihazlara dinlenme api aracılığıyla veri sağlayan bir uygulama yaptım. Anahtarlar (Yabancı/Dizin) ile aralarında kurulan ilişkilere dayanarak çeşitli tablolardan gelen verileri alıyorum.ActiveDataProvider, REST api - Yii2
Tablolardan gerekli verileri almak için ActiveDataProvider
kullanıyorum.
return $dataProvider;
İstediğim edilir:
-
ben şöyle ben döndüğünüzde gerektiği gibi
$dataProvider = new ActiveDataProvider([
'query'=>$query
]);
Bu
harikaJSON
formatında belirlediğim sorgu ve dönen verilere dayanarak çalışan gerçek olduğunu
:
{
"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
}
}
yani ActiveDataProvider dönüyor:
return array('some_other_data'=>$somedata, 'dataProvider'=>$dataProvider);
sonra sonuç gibidir:
[
"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"
}
}
]
Sorunum olarak döndüğünüzde ise Sonuçtaki veriler gibi şema, gerçek sonuç değil.
Lütfen bu dataProvider'ın verileri döndürmeye çalıştığı mimari değil, gerçek verileri döndürmeye nasıl zorlayacağına dair bir ipucu veya ipucu verin.
Müthiş deneyin .. Ama aklımı kaybettim düşünüyorum. Birkaç kez belgelere baktım ama getModels() 'e bakmadım. Tesekkurler dostum. Bu küçük bir şeydi ve bunu anlamıyordum. +1 – Choxx
yii \ rest \ Serializer hattı # 172, Yii2 aynı şeyi dinlenme kontrol cihazında yaptı. :) –