手机版

雄辩ORM的laravel数据迁移及实现方法

时间:2021-08-26 来源:互联网 编辑:宝哥软件园 浏览:

导言:

数据库是后端开发中最常见和最重要的部分。Laravel提供了一个非常实用的雄辩ORM模型类,可以简单直观地与数据库进行交互。同时,数据库由数据迁移管理,可以与团队共享和编辑。有关这两者的更多信息,请查看下面的文档。下面用了两个例子,要求是记录用户浏览记录。请不要把这个例子带入实际项目,本文只是一个例子。应根据要求记录实际项目,并选择储存方法。

创建数据表

当然,第一步是创建一个数据表。使用artisan命令可以轻松创建模型和迁移数据。PHP artisan make : model models/browse log-m,-m参数不仅创建模型,还创建数据迁移文件。执行上述命令后,添加了两个文件,app/Models/BrowseLog.php和数据库/迁移/{ now _ date } _ create _ browse _ logs _ table.php。然后编辑{ now _ date } _ create _ browse _ logs _ table.php创建一个数据表

/** *运行迁移。* * @ return void */public function up(){ schema : create(' browse _ logs '),function(蓝图$ table){ $ table-increments(' id ');$ table-IP地址(' IP _ addr ')-注释(' IP地址');$ table-string ('request _ url ',20)-comment(' request URL ');$ table-char ('city _ name ',10)-comment('根据ip获取城市名称');$ table-时间戳();});db : statement(' alter table ` browse _ logs ` comment ' browse record table ' ');//表注}代码如上。编辑后,执行命令php artisan migrate将创建所有尚未迁移的数据表。如下

就个人而言,laravel的默认数据类型是有问题的。例如ipAddress(),数据格式为varchar(45),但可以通过将ip2long转换为int来存储。时间戳()也可以使用时间戳来存储。当然,laravel还提供了一个访问器修饰符,以便于维护。从实际项目中选择。

定义中间件

定义一个全局中间件,每个请求都会被执行。执行PHP artisan make:中间件browselog,创建app/http/中间件/browselog.php文件。将创建的中间件添加到app/Http/Kernel.php中,如下所示

记录的数据

最后,在中间件中,将数据记录到数据库中,代码如下

/** *处理传入的请求。* * @ param \ Illuminate \ Http \ Request $request * @ param \ Closure $ next * @返回混合*/公共函数句柄($ Request,Closure $ next){ $ log=new \ App \ Models \ browse log();$ log-IP _ addr=$ request-GetClientIP();$ log-request _ URL=$ request-path();$ log-city _ name=get _ city _ by _ IP();$ log-save();返回$ next($ request);}访问了几个链接后,去数据库看看

数据写入是正常的,所以这个例子到此结束。

资源:数据库操作——迁移,雄辩的ORM ——快速启动。

版权声明:雄辩ORM的laravel数据迁移及实现方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。