请选择 进入手机版 | 继续访问电脑版

[PHP编程] 图文详解laravel多对多关联模子

[复制链接]
查看104 | 回复21 | 2021-9-13 06:09:50 | 显示全部楼层 |阅读模式

关联模子 (多对多)

多对多关系(抽象)

例:一篇文章大概 有多个关键词,一个关键词大概 被多个文章使用 。 关键词表:

字段id 主键
字段keyword 关键词
文章与关键词的关系表:
字段id 主键
-- --
字段article_id 文章id
字段key_id 关键词id
创建迁徙 文件:
  1. php artisan make:migration create_keyword_table
复制代码
  1. php artisan make:migration create_relation_table
复制代码
图文详解laravel多对多关联模子
编写迁徙 文件的代码:
图文详解laravel多对多关联模子
图文详解laravel多对多关联模子
实行 迁徙
  1. php artisan migrate
复制代码
图文详解laravel多对多关联模子
图文详解laravel多对多关联模子
创建添补 器:
  1. php artisan make:seeder KeywordAndRelationTableSeeder
复制代码
图文详解laravel多对多关联模子
编写添补 器数据:
  1. <?php
  2. namespace Database\Seeders;
  3. use Illuminate\Database\Seeder;
  4. use DB;
  5. class KeywordAndRelationTableSeeder extends Seeder
  6. {
  7. /**
  8. * Run the database seeds.
  9. *
  10. * @return void
  11. */
  12. public function run()
  13. {
  14. //关键词数据
  15. DB::table('keyword') -> insert([
  16. ['keyword' => '搞笑'],
  17. ['keyword' => '文艺'],
  18. ['keyword' => '正片'],
  19. ['keyword' => '惊悚'],
  20. ['keyword' => '娱乐'],
  21. ['keyword' => '武术'],
  22. ]);
  23. //关系表
  24. DB::table('relation') -> insert([
  25. [
  26. 'article_id' => rand(1,3),
  27. 'keyword_id' => rand(1,6)
  28. ],
  29. [
  30. 'article_id' => rand(1,3),
  31. 'keyword_id' => rand(1,6)
  32. ],
  33. [
  34. 'article_id' => rand(1,3),
  35. 'keyword_id' => rand(1,6)
  36. ],
  37. [
  38. 'article_id' => rand(1,3),
  39. 'keyword_id' => rand(1,6)
  40. ],
  41. ]);
  42. }
  43. }
复制代码

实行 添补 器:

  1. php artisan db:seed --class=KeywordAndRelationTableSeeder
复制代码

图文详解laravel多对多关联模子

 

图文详解laravel多对多关联模子

 

图文详解laravel多对多关联模子

案例:查询出每个文章(主)下全部的关键词(从) 语法:

  1. return $this -> belongsToMany(被关联模型的元素空间路径, 多对多模型的关系表名, 关系表中当前模型中的关系键,关系表中被关联模型的关系键)
复制代码

上述语法提及到的关系键是指在关系表中的字段名。 创建关键词模子 :

  1. php artisan make:model Keyword
复制代码

​​​​​​​

图文详解laravel多对多关联模子

 

图文详解laravel多对多关联模子

 

图文详解laravel多对多关联模子

创建案例路由:

图文详解laravel多对多关联模子

创建案例控制方法:

图文详解laravel多对多关联模子

效果 :

图文详解laravel多对多关联模子

总结

到此这篇关于laravel多对多关联模子 的文章就先容 到这了,更多干系 laravel多对多关联模子 内容请搜索 脚本之家从前 的文章或继续欣赏 下面的干系 文章渴望 大家以后多多支持脚本之家!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

avatar 保佑缎 | 2021-9-16 08:31:42 | 显示全部楼层
楼上的很有激情啊!
回复

使用道具 举报

avatar 天下无敌522 | 2021-9-17 16:37:48 | 显示全部楼层
回帖也有有水平的!
回复

使用道具 举报

avatar 123457305 | 2021-9-18 08:09:10 | 显示全部楼层
怎么我回帖都没人理我呢?
回复

使用道具 举报

avatar 晚景入寒窗 | 2021-9-23 14:36:26 | 显示全部楼层
最近精神病院在打折,admin楼主去看看吧?
回复

使用道具 举报

avatar 小瑞熙 | 2021-9-25 02:59:35 | 显示全部楼层
最近压力山大啊!
回复

使用道具 举报

avatar 淡然一笑wwl | 2021-10-1 22:26:57 | 显示全部楼层
收藏了,怕admin楼主删了!
回复

使用道具 举报

avatar veronica六 | 2021-10-2 14:50:06 | 显示全部楼层
不错的帖子,值得收藏!
回复

使用道具 举报

avatar 五题架转困 | 2021-10-3 20:19:08 | 显示全部楼层
我就搞不明白了,看帖回帖能死人么,居然只有我这么认真的在回帖!
回复

使用道具 举报

avatar 南辕北辙395 | 2021-10-4 17:20:47 | 显示全部楼层
admin楼主练了葵花宝典吧?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则