I'm building a complete crud using laravel + angularjs, but I have problems in the "edit" part.
It's an internal server error, so I don't know what it means and I need help.
Error "GET localhost/crudtcc/public/api/v1/colaboradores/editar/3 500 (Internal Server Error)"
the javascript file:
app.controller('colaboradoresController', function($scope, $http, API_URL) {
  $http.get(API_URL + "colaboradores")
    .success(function(response) {
      $scope.colaboradores = response;
    });
  $scope.toggle = function(modalstate, id_colaborador) {
    $scope.modalstate = modalstate;
    switch (modalstate) {
      case 'add':
        $scope.form_title = "Novo colaborador";
        $scope.colaborador = null;
        break;
      case 'edit':
        $scope.form_title = "Dados do colaborador";
        $scope.id_colaborador = id_colaborador;
        $http.get(API_URL + 'colaboradores/editar/' + id_colaborador)
          .success(function(response) {
            console.log(response);
            $scope.colaborador = response;
          });
        break;
      default:
        break;
    }
    $('#myModal').modal('show');
  }
  $scope.save = function(modalstate, id_colaborador) {
    var url = API_URL + "colaboradores/salvar";
    if (modalstate === 'edit') {
      url += "/editar/" + id_colaborador;
    }
    $http({
      method: 'POST',
      url: url,
      data: $.param($scope.colaborador),
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
      }
    }).success(function(response) {
      console.log(response);
      location.reload();
    }).error(function(response) {
      console.log(response);
      alert('Um erro ocorreu. Check a log para mais detalhes.');
    });
  }
  $scope.confirmDelete = function(id_colaborador) {
    var isConfirmDelete = confirm('Tem certeza que deseja excluir o registro?');
    if (isConfirmDelete) {
      $http({
        method: 'DELETE',
        url: API_URL + 'colaboradores/remover/' + id_colaborador
      }).
      success(function(data) {
        console.log(data);
        location.reload();
      }).
      error(function(data) {
        console.log(data);
        alert('Falha na exclusão');
      });
    } else {
      return false;
    }
  }
});the routes file:
    <?php
       namespace App\Http\Controllers;
    $colaborador = new Colaborador;
 use Illuminate\Http\Request;
 use App\Http\Requests;
 use App\Usuario;
 use App\Http\Controllers\Controler;
 use App\Colaborador;
class Colaboradores extends Controller
{
public function index()
{
       return Colaborador::orderBy('id_colaborador', 'asc')->get();
}
public function salvar(Request $request)
{
    $colaborador->nome = $request->input('nome');
    $colaborador->rg = $request->input('rg');
    $colaborador->orgao_expedidor = $request->input('orgao_expedidor');
    $colaborador->cpf = $request->input('cpf');
    $colaborador->estado_civil = $request->input('estado_civil');
    $colaborador->sexo = $request->input('sexo');
    $colaborador->nome_pai = $request->input('nome_pai');
    $colaborador->nome_mae = $request->input('nome_mae');
    $colaborador->naturalidade = $request->input('naturalidade');
    $colaborador->data_nascimento = $request->input('data_nascimento');
    $colaborador->login = $request->input('login');
    $colaborador->senha = $request->input('senha');
    $colaborador->siape = $request->input('siape');
    $colaborador->pis = $request->input('pis');
    $colaborador->rua = $request->input('rua');
    $colaborador->numero = $request->input('numero');
    $colaborador->bairro = $request->input('bairro');
    $colaborador->cidade = $request->input('cidade');
    $colaborador->estado = $request->input('estado');
    $colaborador->cep = $request->input('cep');
    $colaborador->telefone_fixo = $request->input('telefone_fixo');
    $colaborador->telefone_celular= $request->input('telefone_celular');
    $colaborador->telefone_comercial = $request->input('telefone_comercial');
    $colaborador->email = $request->input('email');
    $colaborador->save();
    return 'Colaborador salvo com sucesso! ID: ' . $colaborador->id_colaborador;
}
public function update(Request $request,$id_colaborador)
{
    $colaborador = Colaborador::find($id_colaborador);
    $colaborador->nome = $request->input('nome');
    $colaborador->rg = $request->input('rg');
    $colaborador->orgao_expedidor = $request->input('orgao_expedidor');
    $colaborador->cpf = $request->input('cpf');
    $colaborador->estado_civil = $request->input('estado_civil');
    $colaborador->sexo = $request->input('sexo');
    $colaborador->nome_pai = $request->input('nome_pai');
    $colaborador->nome_mae = $request->input('nome_mae');
    $colaborador->naturalidade = $request->input('naturalidade');
    $colaborador->data_nascimento = $request->input('data_nascimento');
    $colaborador->login = $request->input('login');
    $colaborador->senha = $request->input('senha');
    $colaborador->siape = $request->input('siape');
    $colaborador->pis = $request->input('pis');
    $colaborador->rua = $request->input('rua');
    $colaborador->numero = $request->input('numero');
    $colaborador->bairro = $request->input('bairro');
    $colaborador->cidade = $request->input('cidade');
    $colaborador->estado = $request->input('estado');
    $colaborador->cep = $request->input('cep');
    $colaborador->telefone_fixo = $request->input('telefone_fixo');
    $colaborador->telefone_celular= $request->input('telefone_celular');
    $colaborador->telefone_comercial = $request->input('telefone_comercial');
    $colaborador->email = $request->input('email');
    $colaborador->save();
    return "Sucesso atualizando Colaborador #" . $colaborador->id_colaborador;
}
public function remove(Request $request, $id_colaborador)
{   
    $colaborador = Colaborador::where("id_colaborador", $id_colaborador);
    $colaborador->delete();
    return "Colaborador #". $request->input('id_colaborador'). " excluido com sucesso!";
}
public function editar($id_colaborador)
{
    return Colaborador::where("id_colaborador", $id_colaborador);
}
}
?>
and the routes file...
                                <?php
                        /*
                        |--------------------------------------------------------------------------
                        | Application Routes
                        |--------------------------------------------------------------------------
                        |
                        | Here is where you can register all of the routes for an application.
                        | It's a breeze. Simply tell Laravel the URIs it should respond to
                        | and give it the controller to call when that URI is requested.
                        |
                        */
                        Route::get("/colaboradores/gercolaboradores",
                                function() {
                                return view("/colaboradores/gerenciarcolaboradores");
                        });
                        Route::get("/api/v1/colaboradores/","Colaboradores@index");
                        Route::get("/api/v1/colaboradores/editar/{id_colaborador}","Colaboradores@editar");
                        Route::post('/api/v1/colaboradores/salvar/editar/{id_colaborador}',
                                    'Colaboradores@update');
                        Route::post('/api/v1/colaboradores/salvar',     'Colaboradores@salvar');
                                 Route::delete('/api/v1/colaboradores/remover/{id_colaborador}',                      'Colaboradores@remove');
                        ?>
 
     
     
    