欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

圖文詳解laravel多對多關(guān)聯(lián)模型

 更新時間:2021年08月11日 11:52:06   作者:瑾!  
多對多就相當于一個專題Topic有多個文章,但是這多個文章又屬于多個專題,下面這篇文章主要給大家介紹了關(guān)于laravel多對多關(guān)聯(lián)模型的相關(guā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)系表中當前模型中的關(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)文章

最新評論