1. 程式人生 > 程式設計 >圖文詳解laravel多對多關聯模型

圖文詳解laravel多對多關聯模型

關聯模型(多對多)

多對多關係(抽象)

例:一篇文章可能有多個關鍵詞,一個關鍵詞可能被多個文章使用。 關鍵詞表:

http://www.cppcns.com
欄位id 主鍵
欄位keyword 關鍵詞
文章與關鍵詞的關係表:
欄位id 主鍵
-- --
欄位article_id 文章id
欄位key_id 關鍵詞id
建立遷移檔案:
artisan make:migration create_keyword_table
php artisan make:migration create_relation_table
圖文詳解laravel多對多關聯模型
編寫遷移檔案的程式碼:
圖文詳解laravel多對多關聯模型
圖文詳解laravel多對多關聯模型
執行遷移php artisan migrate
圖文詳解laravel多對多關聯模型
圖文詳解laravel多對多關聯模型
建立填充器:
php artisan make:seeder KeywordAndRelationTableSeeder
圖文詳解laravel多對多關聯模型
編寫填充器資料:
<?php
 
namespace Database\Seeders;
 
use Illuminate\Database\Seeder;
use DB;
 
class KeywordAndRelationTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */http://www.cppcns.com
    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)
            ],[
    TZIIJjPdQr            'article_id' => rand(1,[
                'article_id' => rand(1,]);
    }
}
 

執行填充器: php artisan db:seed --class=KeywordAndRelationTableSeeder

圖文詳解laravel多對多關聯模型

圖文詳解laravel多對多關聯模型

圖文詳解laravel多對多關聯模型

案例:查詢出每個文章(主)下全部的關鍵詞(從) 語法:

return $this -> belongsToMany(被關聯模型的元素空間路徑,多對多模型的關係表名,關係表中當前模型中的關係鍵,關係表中被關聯模型的關係鍵)

上述語法提及到的關係鍵是指在關係表中的欄位名。 建立關鍵詞模型: php artisan make:model Keyword

​​​​​​​圖文詳解laravel多對多關聯模型

圖文詳解laravel多對多關聯模型

圖文詳解laravel多對多關聯模型

建立案例路由:

圖文詳解laravel多對多關聯模型

建立案例控制方法:

圖文詳解laravel多對多關聯模型

效果:

圖文詳解laravel多對多關聯模型

總結

到此這篇關於laravel多對多關聯模型的文章就介紹到這了,更多相關laravel多對多關聯模型內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!