您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關laravel多對多關聯模型的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
關聯模型(多對多)
多對多關系(抽象)
例:一篇文章可能有多個關鍵詞,一個關鍵詞可能被多個文章使用。 關鍵詞表:
字段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多對多關聯模型的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。