这个应该是自动调用的,老师视频里也并没有调用这个函数,然后就能直接返回时间戳
在app/Providers/AppServiceProvider.php这个文件的boot函数里面加上
Schema::defaultStringLength(191);
class MyEloquent extends Eloquent(){ const CREATED_AT = 'create_time'; const UPDATED_AT = 'update_time'; }
所有模型继承MyEloquent
同问。
DB::table('users')->insert(array( array('email' => 'taylor@example.com', 'votes' => 0), array('email' => 'dayle@example.com', 'votes' => 0),
));
model层::
return self::where('id', '=', '1') ->select('id', 'nick') ->get() -> toArray();
视频下方有一个笔记,那里有很多同学记得笔记你可以看下
修改数据类型 就可以
对啊,pubulic 代表本类或者子类可以调用,timestamps 这个方法 就是要大家都能用的,本身并不会用到自己。所以你设置成protected 程序肯定就调用不到了。 这个要根据实际需要,设置合理的private protected public
111
是你的updated_at 和created_at 字段长度不够,之前老师给的是int 长度11位,你改成varchar类型 长度给32
$student 是一个学生,table::student 是学生表
$student包含一系列对数据库操作的方法,save方法将会执行保存动作,如果$student是你新建的对象,save就会在数据库里插入一行,如果$student是你通过find方法查询出来的,则save更新这些行
ORM底层是数据库驱动(PDO/Mysqli之类),通过参数绑定的方法将需要新建或更新的数据告知数据库程序
哈哈,是的,谢谢啦
除此之外还可以使用create方法插入数据,由于该方法中用到了批量赋值(Mass Assignment),所以我们需要在模型类中设置$fillable属性或者$guarded属性,以表明哪些属性可以通过该方法设置,哪些不可以。
开始之前,我们先解释下什么是批量赋值,以及为什么要使用批量赋值。
批量赋值的英文名称是Mass Assignment,所谓的批量赋值是指当我们将一个数组发送到模型类用于创建新的模型实例的时候(通常是表单请求数据),我们可以简单通过如下方式实现:
$post = Post::create(Input::all());
而不是像使用save方法那样一个一个的设置属性值,如果模型属性很多的话,使用save简直是噩梦有木有。
但事物总是相对的,使用批量赋值是很方便,但同时也带来了安全隐患,很多时候模型类的某些属性值不是我们所期望通过批量赋值修改的,比如用户模型有个user_type属性,如果用户通过请求数据将其类型修改为管理员类型,这显然是不允许的,正是基于这一考虑,Eloquent模型类为我们提供了$fillable属性和$guarded属性,我们可以将其分别看作“白名单”和“黑名单”,定义在$fillable中的属性可以通过批量赋值进行赋值,而定义在$guarded中的属性在批量赋值时会被过滤掉。
那么如果我们确实想要修改定义在$guarded中的属性怎么办?答案是使用save方法。
此外需要注意的是$fillable和$guarded方法同时只能定义一个,原因嘛很简单,非黑即白,定义了一个另外一个也就确定了。
可见批量赋值不仅为我们创建模型提供了便利,还避免了安全隐患,提高了系统的安全性。
这要看你想存什么格式的,想存时间戳就把数据库字段类型设置成int类型的啊。上面两个函数是设置成int类型的时间戳
后来也查了 ,本身就有的东西。突然来个这感觉很奇怪,现在就通了。
你会不会搭建composer