你好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