में ऐरेसेरियलाइज़र को कार्यान्वित करके फ्रैक्टल में डेटा को निकालने का प्रयास कर रहा है। मुझे मानक प्रक्रिया का उपयोग करके एपीआई काम कर रहा है, लेकिन मैं JSON आउटपुट से data
नेमस्पेस को हटाना चाहता हूं। मुझे लगता है कि मुझे ऐरेसेरियलाइज़र को लागू करने की ज़रूरत है, मैं फ्रैक्टल डॉक्स के माध्यम से रहा हूं, लेकिन मैं काम नहीं कर सकता जहां मुझे इसे लैरावेल 5.2लार्वेल 5.2
में जोड़ा गया है, मुझे this answer मिला लेकिन मुझे बस एक ही आउटपुट मिल रहा है कोड की पंक्ति मैं बाहर टिप्पणी की:
class TrackController extends ApiController
{
public function index()
{
$tracks = Track::all();
//return $this->respondWithCollection($tracks, new TrackTransformer);
// Same response as the commented out line above
$response = new \League\Fractal\Resource\Collection($tracks, new TrackTransformer);
$manager = new \League\Fractal\Manager();
$manager->setSerializer(new \League\Fractal\Serializer\ArraySerializer());
return response()->json($manager->createData($response)->toArray());
}
public function show($id)
{
$track = Track::find($id);
return $this->respondWithItem($track, new TrackTransformer);
}
}
इसके अलावा, मैं एक विशिष्ट नियंत्रक पर इस को लागू कर रहा हूँ, भले ही मैं इस काम, जहाँ मैं कोड/वर्ग में शामिल कर सकता तो मैं के लिए ArraySerializer उत्पादन प्राप्त कर सकते हैं मिल गया सब मेरी नियंत्रक?
मेरे पास posted this on Github है यदि यह मदद करता है।
पहली छाप, मुझे लगता है कि आप '$ प्रतिक्रिया = नए \ लीग \ भग्न \ संसाधन \ संग्रह ($ ट्रैक, नए TrackTransformer) को स्थानांतरित करना चाहिए,' के बाद आप serializer –
सेट करें जहां मैं इसे स्थानांतरित करूं? –
'$ प्रबंधक = नया \ लीग \ फ्रैक्टल \ प्रबंधक(); $ प्रबंधक-> सेटसेरियलज़र (नया \ लीग \ फ्रैक्टल \ Serializer \ ArraySerializer()); $ प्रतिक्रिया = नया \ लीग \ फ्रैक्टल \ संसाधन \ संग्रह ($ ट्रैक, नया ट्रैकट्रांसफार्मर); ' –