圖文詳解laravel多對多關(guān)聯(lián)模型
關(guān)聯(lián)模型(多對多)
多對多關(guān)系(抽象)
例:一篇文章可能有多個關(guān)鍵詞,一個關(guān)鍵詞可能被多個文章使用。 關(guān)鍵詞表:
<?php namespace DatabaseSeeders; use IlluminateDatabaseSeeder; use DB; class KeywordAndRelationTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { //關(guān)鍵詞數(shù)據(jù) DB::table('keyword') -> insert([ ['keyword' => '搞笑'], ['keyword' => '文藝'], ['keyword' => '正片'], ['keyword' => '驚悚'], ['keyword' => '娛樂'], ['keyword' => '武術(shù)'], ]); //關(guān)系表 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) ], ]); } }
執(zhí)行填充器: php artisan db:seed --class=KeywordAndRelationTableSeeder
案例:查詢出每個文章(主)下全部的關(guān)鍵詞(從) 語法:
return $this -> belongsToMany(被關(guān)聯(lián)模型的元素空間路徑, 多對多模型的關(guān)系表名, 關(guān)系表中當(dāng)前模型中的關(guān)系鍵,關(guān)系表中被關(guān)聯(lián)模型的關(guān)系鍵)
上述語法提及到的關(guān)系鍵是指在關(guān)系表中的字段名。 創(chuàng)建關(guān)鍵詞模型: php artisan make:model Keyword
創(chuàng)建案例路由:
創(chuàng)建案例控制方法:
效果:
總結(jié)
到此這篇關(guān)于laravel多對多關(guān)聯(lián)模型的文章就介紹到這了,更多相關(guān)laravel多對多關(guān)聯(lián)模型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
版權(quán)聲明:
本站所有文章和圖片均來自用戶分享和網(wǎng)絡(luò)收集,文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請勿用于商業(yè)用途,如果損害了您的權(quán)利,請聯(lián)系網(wǎng)站客服處理。