2
votes

I have inserted a row in db using laravel eloquent method. See the code below,

public function store() {
    $language = new languages;
    $language -> languages = Input::get('languages');
    $language -> created_by =  Auth::user()->id;
    $language -> updated_by = Auth::user()->id;
    if( $language -> save() ) {
        $returnData = languages::where("id","=",$language -> id) -> get();
        $data = array ("message" => 'Language added successfully',"data" => $returnData );
        $response = Response::json($data,200);
        return $response; 
    } 
}

I want the last inserted row from the table, but my response contains empty data. Please guide the right method of getting the data?

1

1 Answers

3
votes

Almost there: you would need to call first() to get just one row. But, since you're using eloquent, you can call the find() method:

public function store() {
    $language = new languages;
    $language->languages = Input::get('languages');
    $language->created_by =  Auth::user()->id;
    $language->updated_by = Auth::user()->id;
    if($language->save()) {
        $returnData = $language->find($language->id);
        $data = array ("message" => 'Language added successfully',"data" => $returnData );
        $response = Response::json($data,200);
        return $response; 
    } 
}