2015-01-27 4 views
1

현재 프로젝트를 얻을 존재하지 않습니다BadMethodCallException 방법 웅변은 LARAVEL에서이 오류를

class Actividades extends Eloquent implements UserInterface, RemindableInterface {

use UserTrait, RemindableTrait; 

/** 
* The database table used by the model. 
* 
* @var string 
*/ 
protected $table = 'actividades'; 

/** 
* The attributes excluded from the model's JSON form. 
* 
* @var array 
*/ 
protected $hidden = array('password', 'remember_token'); 

}

내 controller.php (ApiActividadesController.php는)

class ApiActividadesController extends BaseController { 

public $restful = true; 

public function get_index($id = null) 
{ 
    if (is_null($id)) 
    { 
     return Response::eloquent(Actividades::all()); 
    } 
    else 
    { 
     $actividades = Actividades::find($id); 

     if(is_null($actividades)){ 
      return Response::json('Actividades not found', 404); 
     } else { 
       return Response::eloquent($actividades); 
     } 
    } 
} 

오류가 나는 전체 프로젝트, 민감한 사용 사례를 다시하려고 한 return Response::eloquent(Actividades::all());

에 던졌습니다 그러나 방법 "laravel"은 apear 것으로 보이지 않습니다.

도움이 필요합니다.

+2

'Response :: eloquent()'와 같은 것은 존재하지 않습니다. – lukasgeiter

+0

API를 통해 테이블 ​​"actividades"@lukasgeiter의 모든 요소를 ​​반환합니다. – Ratiess

+1

'Response :: json (Actividades :: all()) '을 찾고 계십니까? – lukasgeiter

답변

1

Response::eloquent()은 단순히 존재하지 않습니다. 그게 오류라고하고 그게 문제 야. 약간의 보너스로

return Response::json(Actividades::all()); 

: 무엇 (설명 참조)을 의미 영업 이익이 Response::json()되었다 JSON에 전달 된 변수를 변환하는 Response::eloquent() 같은 것을 가지고 실제로 가능하다. Laravel의 Response Macros에서는 사용자 지정 바로 가기를 추가하여 응답을 생성 할 수 있습니다.

Response::macro('eloquent', function($value) 
{ 
    return Response::json($value); 
}); 

그리고 사용을 : 이것은 당신이 그들을 등록하는 방법이다 (당신이 그것을 가지고 정확히 같은)

return Response::eloquent(Actividades::all()); 

가 분명히 그냥 Response::json()에게 전달하기 위해 많이하지 의미가 있습니다. 일반적으로 값을 변경하거나 완전히 다른 작업을 수행합니다.

관련 문제