圖文詳解laravel多對多關(guān)聯(lián)模型
關(guān)聯(lián)模型(多對多)
多對多關(guān)系(抽象)
例:一篇文章可能有多個關(guān)鍵詞,一個關(guān)鍵詞可能被多個文章使用。 關(guān)鍵詞表:
| 字段id | 主鍵 |
|---|---|
| 字段keyword | 關(guān)鍵詞 |
| 文章與關(guān)鍵詞的關(guān)系表: | |
| 字段id | 主鍵 |
| -- | -- |
| 字段article_id | 文章id |
| 字段key_id | 關(guān)鍵詞id |
| 創(chuàng)建遷移文件: | |
php artisan make:migration create_keyword_table |
|
php artisan make:migration create_relation_table |
|
![]() |
|
| 編寫遷移文件的代碼: | |
![]() |
|
![]() |
|
執(zhí)行遷移php artisan migrate |
|
![]() |
|
![]() |
|
| 創(chuàng)建填充器: | |
php artisan make:seeder KeywordAndRelationTableSeeder |
|
![]() |
|
| 編寫填充器數(shù)據(jù): |
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
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)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PHP表單驗(yàn)證內(nèi)容是否為空的實(shí)現(xiàn)代碼
下面小編就為大家?guī)硪黄狿HP表單驗(yàn)證內(nèi)容是否為空的實(shí)現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11
php 數(shù)據(jù)結(jié)構(gòu)之鏈表隊(duì)列
這篇文章主要介紹了php 數(shù)據(jù)結(jié)構(gòu)之鏈表隊(duì)列的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-10-10
php實(shí)現(xiàn)生成驗(yàn)證碼實(shí)例分享
由于注冊的時候常常會用到注冊碼來防止機(jī)器惡意注冊,這里我發(fā)表一個產(chǎn)生圖片驗(yàn)證碼的基本圖像,很簡陋,有需要的小伙伴可以參考下2016-04-04
laravel 之 Eloquent 模型修改器和序列化示例
今天小編就為大家分享一篇laravel 之 Eloquent 模型修改器和序列化示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
php array_values 返回?cái)?shù)組的所有值詳解及實(shí)例
這篇文章主要介紹了php array_values 返回?cái)?shù)組的所有值詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下2016-11-11
php導(dǎo)出word格式數(shù)據(jù)的代碼實(shí)例
這篇文章主要介紹了php導(dǎo)出word格式數(shù)據(jù)的代碼實(shí)例,有需要的朋友可以參考一下2013-11-11







