/home/mip/mip/app/Modules/Api/Controllers/SubjectController.php
<?php

namespace QxCMS\Modules\Api\Controllers;

use Illuminate\Http\Request;

use QxCMS\Http\Controllers\Controller;
use QxCMS\Modules\Client\Repositories\Subject\SubjectRepositoryInterface as Subject;
use Auth;
use \Carbon\Carbon;

class SubjectController extends Controller
{
	protected $subject;


	public function __construct(Subject $subject)
	{
		$this->subject = $subject;
	}

    public function getSubject(Request $request)
    {

        $subjects = $this->subject->apiGetSubject($request->all());
        $responses = array();
        foreach ($subjects as $subject_key => $subject) {
            $responses[] =   array(
                                'original_id'            => $subject->id,
                                'name'                   => $subject->name,
                                'principal_id'           => $subject->principal_id,
                                'template_id'            => $subject->template_id,
                                'field_officer_assigned' => $subject->field_officer_assigned,
                                'editor_assigned'        => $subject->editor_assigned,
                                'interview_date'         => Carbon::parse($subject->interview_date)->format('Y-m-d'),
                                'completion_date'        => Carbon::parse($subject->completion_date)->format('Y-m-d'),
                            );
        }

        return response()->json($responses)->withCallback($request->input('callback'));
    }
}