你好Stackoverflowers,用Laravel的Eloquent创建条目
我目前正在开发一个Laravel 4.2的网页。我自己管理好几个问题,但现在我坚持这一点。我试着为我的MySQL-表structures
创建一个新的数据库条目。连接问题可以排除。
所有的连接似乎都有效,因为所有的连接都返回一个200-的HTTP状态 - 好吧,也许更有经验的开发人员可以帮助我!命名空间是可以的,所有的类都是可访问的。非常感谢提前!
问题是:为什么控制器不向数据库中插入任何数据。我是否使用错误的控制器功能create
或者我是否以错误的方式使用它?
的Structures
模型文件中/app/models/db/Structures.php
namespace Database;
class Structures extends \Eloquent {
protected $table='structures';
protected $protected = array();
}
在/app/controllers/admin/api/StructuresController.php相应控制器(命名空间控制器\联系\ API问题可已排除)
public function create($data = null)
{
Structures::create($data)->save();
return Response::json(array('success' => true));
}
我打电话上面有$http
- 服务的控制器在个AngularJS
angular.module('PagesService', [])
.factory('Structure', function($http) {
return {
save : function(structureData) {
return $http({
method: 'POST',
url: 'admin/api/structures',
headers: { 'Content-Type' : 'application/x-www-form-urlencoded' },
data: $.param(structureData)
});
}
}
})
这是相应的控制器到服务
angular.module('PagesController', [])
.controller('StructureController', function($scope, $http, Structure) {
$scope.newStructure = function() {
Structure.save({
'title': "Änderbar",
'type': "markdown",
'page-id': 1,
'order': 3,
'class': '',
'text': "Testtext"
})
.success(function(data) {
...
})
.error(function(data) {
console.log(data);
});
return false;
}
});
的routes.php
文件(提取物)
Route::resource('admin/api/structures', 'Controllers\Admin\API\StructuresController');
你有什么问题吗? – charlietfl 2014-11-02 12:36:45
更新了条目。我不确定有什么问题。我是否以错误的方式使用控制器? – barfoos 2014-11-02 12:41:10
我不认为这是造成问题,但如果你使用'create()',你不需要调用'save()'它会自动插入数据库 – lukasgeiter 2014-11-02 12:52:49