| 字段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多對多關聯模型內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!