Hello Stackoverflowers,Создать запись с Laravel's Eloquent
Я сейчас разрабатываю веб-страницу с Laravel 4.2. Я справился с несколькими проблемами самостоятельно, но теперь я застрял в этом. Я попытался создать новую запись DB для моей таблицы MySQL structures
. Проблема подключения может быть исключена.
Все соединения, похоже, работают, поскольку все возвращают HTTP-статус 200 - ОК, возможно, более опытные разработчики могут мне помочь! Пространства имен в порядке, и все классы доступны. Большое спасибо заранее!
Вопрос: Почему контроллер не вставляет какие-либо данные в базу данных. Я использую неправильную функцию-контроллер 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 может быть exluded)
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
Обновлена запись. Я не уверен, в чем проблема. Я использую контроллер неправильно? – barfoos
Я не думаю, что это вызывает проблему, но если вы используете 'create()', вам не нужно вызывать 'save()' он автоматически вставлен в db – lukasgeiter