图文详解laravel多对多关联模型
2021-09-14 04:07
1086 查看
关联模型(多对多)
多对多关系(抽象)
例:一篇文章可能有多个关键词,一个关键词可能被多个文章使用。 关键词表:
字段id | 主键 |
---|---|
字段keyword | 关键词 |
文章与关键词的关系表: | |
字段id | 主键 |
-- | -- |
字段article_id | 文章id |
字段key_id | 关键词id |
创建迁移文件: | |
php artisan make:migration create_keyword_table |
|
php artisan make:migration create_relation_table |
|
编写迁移文件的代码: | |
执行迁移php artisan migrate |
|
创建填充器: | |
php artisan make:seeder KeywordAndRelationTableSeeder |
|
编写填充器数据: |
<?php namespace Database\Seeders; use Illuminate\Database\Seeder; use DB; class KeywordAndRelationTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { //关键词数据 DB::table('keyword') -> insert([ ['keyword' => '搞笑'], ['keyword' => '文艺'], ['keyword' => '正片'], ['keyword' => '惊悚'], ['keyword' => '娱乐'], ['keyword' => '武术'], ]); //关系表 DB::table('relation') -> insert([ [ 'article_id' => rand(1,3), 'keyword_id' => rand(1,6) ], [ 'article_id' => rand(1,3), 'keyword_id' => rand(1,6) ], [ 'article_id' => rand(1,3), 'keyword_id' => rand(1,6) ], [ 'article_id' => rand(1,3), 'keyword_id' => rand(1,6) ], ]); } }
执行填充器: php artisan db:seed --class=KeywordAndRelationTableSeeder
案例:查询出每个文章(主)下全部的关键词(从) 语法:
return $this -> belongsToMany(被关联模型的元素空间路径, 多对多模型的关系表名, 关系表中当前模型中的关系键,关系表中被关联模型的关系键)
上述语法提及到的关系键是指在关系表中的字段名。 创建关键词模型: php artisan make:model Keyword
创建案例路由:
创建案例控制方法:
效果:
总结
到此这篇关于laravel多对多关联模型的文章就介绍到这了,更多相关laravel多对多关联模型内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:相关文章推荐
- Laravel框架控制器,视图及模型操作图文详解
- Laravel 模型关联基础教程详解
- Laravel 模型关联attach,save,sync方法参数类型验证
- TP5中关联模型的使用详解
- PowerDesigner15在win7-64位系统下对MySQL 进行反向工程以及建立物理模型产生SQL语句步骤图文傻瓜式详解
- CSS样式----盒子模型(图文详解)
- Laravel 关联表模型和多对多关系
- Laravel5.1 框架模型多态关联用法实例分析
- 深入理解 Laravel Eloquent(三)——模型间关系(关联)
- thinkPHP视图模型详解,把mysql表关联简单化!
- 详解Laravel设置多态关系模型别名的方式
- 深入理解 Laravel Eloquent(三)——模型间关系(关联)
- Laravel5.5 根据关联模型的字段模糊查询
- laravel 模型关联 的简单使用方法
- Laravel Eloquent分表方法并使用模型关联的实现
- laravel 强大的关联模型
- thinkphp关联模型实例详解
- 深入理解 Laravel Eloquent(三)——模型间关系(关联)
- ThinkPHP第十四天(显示TRACE界面配置,关联模型详解定义)
- 图文详解jvm中的内存与线程模型