我正在研究laravel和遵循教程http://technetlk.blogspot.com.au/2012/09/laravel-backbonejs-coffeescript_3527.html
。目前正在编写本教程的第7部分。
在routes.php
中,我写过
Route::any('api/category/(:num?)',
array('as' => 'api.category',
'uses' => 'api.category@index')
);
在api/category.php
中,
<?php
class Api_Category_Controller extends Base_Controller
{
public $restful = true;
public function get_index($id = null)
{
if (is_null($id ))
{
$allCats = Category::all();
return BaseModel::allToJson($allCats);
}
else
{
$cat = Category::find($id);
return $cat->toJson();
}
}
public function post_index()
{
$cat = Input::json();
$dbCat = new Category();
$dbCat->code = $cat->code;
$dbCat->name = $cat->name;
$dbCat->save();
return $dbCat->toJson();
}
public function put_index()
{
$cat = Input::json();
$dbCat = Category::find($cat->id);
$dbCat->code = $cat->code;
$dbCat->name = $cat->name;
$dbCat->save();
return $dbCat->toJson();
}
public function delete_index($id = null)
{
$dbCat = Category::find($id);
$dbCat->delete();
}
}
?>
在BaseModel.php
中
<?php
class Category extends BaseModel
{
public static $table = 'tbl_category';
}
class BaseModel extends Eloquent
{
public function toJson()
{
return json_encode($this->to_array());
}
public static function allToJson($array)
{
$temp = array();
foreach($array as $t)
{
$temp[] = $t->to_array();
}
return json_encode($temp);
}
}
?>
当我试图逃跑的时候
curl -X POST http://lbc.dev/api/category -H "Content-Type: application/json" –d '{"code":"cat1", "name":"Category One"}'
我得到了一个错误
未处理异常 消息: 未找到类“类别”的位置: 第9行的C:\xampp\htdocs\NewBlog\application\controllers\api\category.php
发布于 2012-11-19 08:12:33
您的分类模型应该位于/application/ Model /models y.php中。
您的BaseModel类应该位于/application/model/basemodel.php中
如果您的BaseModel类不在定义的Autoloader目录中,则如下所示:
您可能面临的另一个问题是BaseModel没有正确自动显示。可以通过将这一行代码附加到应用程序文件夹中的start.php文件中来解决这个问题: // Autoloader::映射'BaseModel‘=>路径(’app‘)。’/path/to/basemodel.php‘,
发布于 2015-09-24 12:00:07
在使用之前,您必须在控制器文件中指定模型。
将此行添加到控制器文件中的以下行之上
使用应用程序\类别;
类Api_Category_Controller扩展Base_Controller {
https://stackoverflow.com/questions/13449752
复制相似问题