佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 圖文詳解laravel多對多關(guān)聯(lián)模型

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

熱門標簽:團購網(wǎng)站 Mysql連接數(shù)設(shè)置 阿里云 電子圍欄 Linux服務(wù)器 科大訊飛語音識別系統(tǒng) 銀行業(yè)務(wù) 服務(wù)器配置

關(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)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • PHP laravel中的多對多關(guān)系實例詳解
  • Laravel 關(guān)聯(lián)模型-關(guān)聯(lián)新增和關(guān)聯(lián)更新的方法
  • Laravel關(guān)聯(lián)模型中過濾結(jié)果為空的結(jié)果集(has和with區(qū)別)
  • laravel學(xué)習(xí)教程之關(guān)聯(lián)模型

標簽:衢州 棗莊 衡水 廣元 萍鄉(xiāng) 大理 蚌埠 江蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標題《圖文詳解laravel多對多關(guān)聯(lián)模型》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    武威市| 巩义市| 镇坪县| 高淳县| 呈贡县| 仁寿县| 大冶市| 东城区| 营山县| 左权县| 大厂| 嘉荫县| 黄平县| 新和县| 彰化市| 宽城| 博野县| 扬州市| 揭西县| 重庆市| 三台县| 永胜县| 息烽县| 剑阁县| 衡南县| 醴陵市| 凤城市| 石家庄市| 新源县| 拉萨市| 浦北县| 乌拉特前旗| 锡林郭勒盟| 灯塔市| 炉霍县| 长岭县| 庆城县| 衢州市| 濮阳市| 驻马店市| 遵义市|