我是Laravel 4框架的新手,我正在从事图书馆管理项目。我从数据库中获取所有数据,但无法将新书添加到数据库中。
我已经创建了一个表单来将新书添加到我的数据库中。我从我的store()
方法获得了Input::get('element')
值,但是create Methode值不起作用。下面是我保存一本新书的代码:
Livre::create(array('titre' => Input::get('titre'), 'resume'=> Input::get('resume') ));
这是我的模型:
class Livre extends Eloquent {
protected $table = 'livre';
}
发布于 2014-05-25 02:58:40
您需要通过调用以下命令来创建新的Model实例:
$livre = new Livre;
然后添加你的‘字段’:
$livre->titre = Input::get('titre');
$livre->resume = Input::get('resume');
然后通过调用save()
或push()
方法保存您的新书:
$livre->save();
或者,如果要保存模型及其关系,请使用push()
方法:
$livre->push();
发布于 2014-05-29 19:41:51
似乎当您说create方法不起作用时,您的意思是数据库中的记录已创建,但它的值为空值。当您没有指定为大量分配启用的字段时,就会发生这种情况。
默认情况下,Eloquent model
将guarded属性设置为批量分配的通配符阻止。要使用您向我们展示的代码,请修改您的模型:
class Livre extends Eloquent {
protected $table = 'livre';
protected $fillable = array(
'titre',
'resume'
);
}
你可以在这里阅读更多内容:Mass Assignment
https://stackoverflow.com/questions/23848544
复制相似问题