Laravel 4:无法在数据库中添加新元素

时间:2014-05-24 18:50:28

标签: laravel-4

我是Laravel 4框架的新手,我正在从事图书馆管理项目。我从我的数据库中获取了所有数据但我无法在我的数据库中添加新书。

我创建了一个表单,可以将新书添加到我的数据库中。我从Input::get('element')方法获取store()值,但创建的Methode不起作用。这是我保存新书的代码:

Livre::create(array('titre' => Input::get('titre'), 'resume'=> Input::get('resume') ));

这是我的模特:

class Livre extends Eloquent {

protected $table = 'livre';

}

2 个答案:

答案 0 :(得分:0)

您需要通过调用:

来创建一个新的Model实例
$livre = new Livre;

然后添加您的'字段':

$livre->titre = Input::get('titre');
$livre->resume = Input::get('resume');

然后通过调用save()push()方法保存新书:

$livre->save();

或者如果您想要保存模型及其关系,请使用push()方法:

$livre->push();

答案 1 :(得分:0)

似乎当你说create方法不起作用时你的意思是创建了数据库中的记录,但它有空值。如果您没有指定为大规模分配启用的字段,则会发生这种情况。

默认情况下,Eloquent model保护属性设置为质量分配的通配符阻止。要使用您向我们展示的代码,请修改您的模型:

class Livre extends Eloquent {

protected $table = 'livre';
protected $fillable = array(
   'titre',
   'resume'
);

}

您可以在此处阅读更多内容:Mass Assignment