首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel 4:无法在数据库中添加新元素

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

Stack Overflow用户
提问于 2014-05-25 02:50:28
回答 2查看 254关注 0票数 1

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

我已经创建了一个表单来将新书添加到我的数据库中。我从我的store()方法获得了Input::get('element')值,但是create Methode值不起作用。下面是我保存一本新书的代码:

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

这是我的模型:

代码语言:javascript
运行
复制
class Livre extends Eloquent {

protected $table = 'livre';

}
EN

回答 2

Stack Overflow用户

发布于 2014-05-25 02:58:40

您需要通过调用以下命令来创建新的Model实例:

代码语言:javascript
运行
复制
$livre = new Livre;

然后添加你的‘字段’:

代码语言:javascript
运行
复制
$livre->titre = Input::get('titre');
$livre->resume = Input::get('resume');

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

代码语言:javascript
运行
复制
$livre->save();

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

代码语言:javascript
运行
复制
$livre->push();
票数 0
EN

Stack Overflow用户

发布于 2014-05-29 19:41:51

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

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

代码语言:javascript
运行
复制
class Livre extends Eloquent {

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

}

你可以在这里阅读更多内容:Mass Assignment

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23848544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档