Fixed retrieve user by email

This commit is contained in:
Gregorio Chiko Putra 2018-02-05 14:29:26 +07:00
parent f8a9206263
commit 8f8ac9e047
3 changed files with 30 additions and 10 deletions

View File

@ -43,16 +43,12 @@ class RespondentController extends Controller
*/ */
public function store(Request $request) public function store(Request $request)
{ {
$respondent = Respondent::where('email', $request['email'])->get(); $request['category_id'] = $request['category'];
unset($request['category']);
$response = $this->response $respondent = Respondent::create($request->toArray());
->item($respondent, new RespondentTransformer, ['key' => 'respondents']); return $respondent;
// return $this->response
var_dump($response); // ->item($respondent, new RespondentTransformer, ['key' => 'respondents']);
if ($response == []) {
throw new NotFoundHttpException("Respondent not found");
} else return $response;
} }
/** /**
@ -102,4 +98,16 @@ class RespondentController extends Controller
{ {
// //
} }
public function searchEmail($email)
{
try {
$respondent = Respondent::where('email', $email)
->firstOrFail();
return $this->response
->item($respondent, new RespondentTransformer, ['key' => 'respondents']);
} catch (\Exception $e) {
return ['message' => $e->getMessage()];
}
}
} }

View File

@ -20,6 +20,16 @@ class Respondent extends Model
'deleted_at' 'deleted_at'
]; ];
protected $fillable = [
'name',
'handphone',
'email',
'gender',
'occupation',
'birthdate',
'category_id'
];
public function category() public function category()
{ {
return $this->belongsTo(Category::class); return $this->belongsTo(Category::class);

View File

@ -35,4 +35,6 @@ $api->version('v1', function ($api) {
$api->resource('answers', 'App\Http\Controllers\AnswerController'); $api->resource('answers', 'App\Http\Controllers\AnswerController');
$api->resource('respondents', 'App\Http\Controllers\RespondentController'); $api->resource('respondents', 'App\Http\Controllers\RespondentController');
$api->resource('users', 'App\Http\Controllers\UserController'); $api->resource('users', 'App\Http\Controllers\UserController');
$api->get('respondents/search/{email}', 'App\Http\Controllers\RespondentController@searchEmail')
->name('respondent.email');
}); });