首页 > 作文

laravel 数据迁移与 Eloquent ORM的实现方法

更新时间:2023-04-07 10:45:28 阅读: 评论:0

导语

数据库可以说是后端开发最常用,也是最重要的部分。laravel 提供了很实用的 eloquent orm 模型类,简单、直观的与数据库进行交互。同时使用数据迁移管理数据库,可以与团队进行共享以及编辑。二者的更多介绍请查看下方的文档。
以下使用二者进行示例,需求是记录用户浏览记录。请勿将本示例带入实际项目中,本文仅作示例。实际项目根据需求进行记录,以及选择存储方式。

创建数据表

第一步当然是创建数据表了。使用 artisan 命令可以很方便的创建模型以及数据迁移。php artisan ma厦门城市学院ke:model models/browlog -m-m 参数在创建模型的同时也创建了数据迁移文件。执行过上述命令后,新增了 app/models/北京舞蹈学院附中browlog.php 以及 databa/migrations/{now_date}_create_brow_logs_table.php 两个文件。
接下来编辑 {now_date}_create_brow_logs_table.php 来创建数据表

/**  * run the migrations.  *  * @return void  */ public function up() {  schema::create('brow_logs', function (blueprint $table) {   $table->increments('id');   $table->ipaddress('ip_addr')->comment('ip 地址');   $table->string('request_url', 20)->comment('请求 url');   $table->char('city_name', 10)->comment('根据 ip 获取城市名称');   $table->timestamps();  });  db::statement("alter table `brow_logs` comment'浏览记录表'"); // 表注释 }

给妈妈做饭代码如上,编辑完成后,执行命令 php artisan migrate 会将所有未执行迁移的数据表创建。如下

个人感觉,laravel 默认的数据类型值得商榷。例如 ipaddress(),数据格式为 varchar(45),其实可以使用 ip2long 转换成 int 进行存储。timestamps() 也可以使用时间戳进行存储。当然 laravel 也提供了 访问器 & 修改器 方便维护。各位实际项目中自行选择。

定义中间件

定义一个全局中间件,每一次请求都会被执行。执行 php artisan make:middleware browlog,创建了 app/蝴字组词http/middleware/browlog.php 文件。
将创建好的中间件添加到 app/http/kernel.php 中,如下

记录数据

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

/**  * handle an incoming request.  *  * @param \illuminate\http\request $request  * @param \closure $next  * @return mixed  */ public function handle($request, closure $next) {  $log = new \app\models\browlog();  $log->ip_addr = $request->getclientip();  $log->request_url = $request->path();  $log寒假兼职->city_name = get_city_by_ip();  $log->save();  return $next($request); }

访问几个链接后,去数据库看下

数据写入正常,本次的示例就到此为止。

参考资料:、eloquent orm —— 快速入门。

本文发布于:2023-04-07 10:45:26,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/673fb0cda0675c0ae0b8257da924b991.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:laravel 数据迁移与 Eloquent ORM的实现方法.doc

本文 PDF 下载地址:laravel 数据迁移与 Eloquent ORM的实现方法.pdf

标签:数据   示例   数据库   数据表
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图