500一般都是服务器内部错误,检查一下服务器配置
create table if not exists student(
`id` INT AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '姓名',
`age` TINYINT UNSIGNED not null DEFAULT 0 COMMENT '年龄',
`sex` TINYINT UNSIGNED not null DEFAULT 10 COMMENT '性别',
`created_at` INT not null DEFAULT 0 COMMENT '新增时间',
`updated_at` INT not null DEFAULT 0 COMMENT '修改时间'
)ENGINE=INNODB DEFAULT CHARSET=UTF8 AUTO_INCREMENT=1001 COMMENT='学生表';
这个不是数据库连接不上吧?Controllers下面应该是StudentController,里面的类名也要是StudentController
复制一份.env.example文件,然后改名为.env在修改里面的内容就行了
你的数据库用户名密码没有填对,要填写你自己的用户名密码,不能跟视频里一样的
数据库是自己建的 他不会自己给你把数据库建好 ,
如果是用MySQL做DB,可以用ENGINE=MRG_MyISAM 实现水平分表,原理和实例,自行Google一下。
核心点:
1、合并表(负责查询,不存数据,ENGINE=MRG_MyISAM)、子表(负责增/删/改,ENGINE=MyISAM)
2、除引擎类型外,表结构需要完全一致
3、子表的主键必须全局唯一,利用合并表的查询结果,主键不能出现重复的。比如:通过php自带uniqid函数,封装一个方法是个选择
拿posts表举例,两个字段:id,title
合并表: posts
子表按季度分:
posts_201501
posts_201502
posts_201503
posts_201504
...
插入数据的时候,判断当前时间决定插入哪张表,比如现在,则插入post_201501表
取数据的时候,和Eloquent平常用法一致,省了很多分表带来的处理逻辑代码
其他
1、migrations里面,自己写个合并表和子表的构造程序即可
2、这种水平分表,对原代码的改动比较小,不用处理复杂的跨表查询逻辑,所以觉得还挺方便的
3、MyISAM不支持事务,但查询方面强于InnoDB,这种做法比较适合分拆查询业务,数据过大的表
4、没在实践项目中用过,仅参考,Have fun~
修改php.ini配置文件:打开php.ini配置文件,将其中
;extension=php_mssql.dll
;extension=php_pdo_mssql.dll
前面的分号去掉,然后再”Dynamic Extensions”区域的后面添加php_sqlsrv的动态链接库文件: extension=php_sqlsrv_52_ts_vc6.dll
extension=php_pdo_sqlsrv_52_ts_vc6.dll
还有就是你的php目录中ext目录下有没有 Php_mssql.dll
我自己又找到了,只是没有在编辑器里面显示而已,在文件夹里面有的。