BadMethodCallException 方法 eloquent 不存在
BadMethodCallException Method eloquent does not exist
LARAVEL 中的当前项目出现此错误:
BadMethodCallException Method eloquent does not exist.
我的routes.php:
Route::any('act', array('as' => 'ApiActividadesController', 'uses' => 'ApiActividadesController@get_index'));
我的 model.php (Actividades.php)
use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;
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" 似乎没有出现。
需要帮助!
Response::eloquent()
根本不存在。这就是错误所说的,这就是这里的问题。 OP 的意思(见评论)是 Response::json()
它将传递的变量转换为 JSON:
return Response::json(Actividades::all());
作为一个小小的奖励:确实有可能拥有 Response::eloquent()
这样的东西。 Laravel 的 Response Macros 允许您添加自定义快捷方式以生成响应。这是您注册它们的方式:
Response::macro('eloquent', function($value)
{
return Response::json($value);
});
以及用法:(与您使用的完全一样)
return Response::eloquent(Actividades::all());
显然,将其传递给 Response::json()
意义不大。通常您会更改该值或完全执行其他操作。
LARAVEL 中的当前项目出现此错误:
BadMethodCallException Method eloquent does not exist.
我的routes.php:
Route::any('act', array('as' => 'ApiActividadesController', 'uses' => 'ApiActividadesController@get_index'));
我的 model.php (Actividades.php)
use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;
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" 似乎没有出现。
需要帮助!
Response::eloquent()
根本不存在。这就是错误所说的,这就是这里的问题。 OP 的意思(见评论)是 Response::json()
它将传递的变量转换为 JSON:
return Response::json(Actividades::all());
作为一个小小的奖励:确实有可能拥有 Response::eloquent()
这样的东西。 Laravel 的 Response Macros 允许您添加自定义快捷方式以生成响应。这是您注册它们的方式:
Response::macro('eloquent', function($value)
{
return Response::json($value);
});
以及用法:(与您使用的完全一样)
return Response::eloquent(Actividades::all());
显然,将其传递给 Response::json()
意义不大。通常您会更改该值或完全执行其他操作。