iT邦幫忙

第 11 屆 iThome 鐵人賽

1
Software Development

在後花園遇見LP,Laravel及PHP的甜蜜糾纏,火熱上映系列 第 42

✾後花園D42✾-多元的 多 對 多 關係? Part 2( Many To Many Relationships 播種及控制器、路由 )

  • 分享至 

  • xImage
  •  

本系列文的環境狀態,可點擊此連結後花園環境參考

本篇之後可能會再做內容修飾,但內文程式碼再運行上是沒問題的。

將資料播種到資料庫裡

在 Terminal 輸入指令

$ php artisan make:seeder BuyerTableSeeder
$ php artisan make:seeder FlowerBuyerTableSeeder

路徑:database/seeds/BuyerTableSeeder.php
填入程式碼

<?php

use Carbon\Carbon;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

class BuyerTableSeeder extends Seeder
{

    public function run()
    {
        DB::table('buyers')->insert([
            [
                'buyname'=> 'CoCo',
                'created_at'=>Carbon::now(),    
                // 對應 timestamps 的 created_at 列位
                'updated_at'=>Carbon::now(),    
                // 對應 timestamps 的 updated_at 列位
            ],
            [
                'buyname'=> 'KuKu',
                'created_at'=>Carbon::now(),
                'updated_at'=>Carbon::now(),
            ],
            [
                'buyname'=> 'YoYo',
                'created_at'=>Carbon::now(),
                'updated_at'=>Carbon::now(),
            ],
            [
                'buyname'=> 'DoDo',
                'created_at'=>Carbon::now(),
                'updated_at'=>Carbon::now(),
            ],
            [
                'buyname'=> 'MiMi',
                'created_at'=>Carbon::now(),
                'updated_at'=>Carbon::now(),
            ],
        ]);
    }
}


路徑:database/seeds/FlowerBuyerTableSeeder.php
填入程式碼

<?php

use Carbon\Carbon;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

class FlowerBuyerTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        DB::table('flower_buyer')->insert([
            [
                'flower_id'=> '3',
                'buyer_id'=> '2',
                'created_at'=>Carbon::now(),
                'updated_at'=>Carbon::now(),
                'bunch'=>'6'
            ],
            [
                'flower_id'=> '3',
                'buyer_id'=> '5',
                'created_at'=>Carbon::now(),
                'updated_at'=>Carbon::now(),
                'bunch'=>'2'
            ],
            [
                'flower_id'=> '1',
                'buyer_id'=> '2',
                'created_at'=>Carbon::now(),
                'updated_at'=>Carbon::now(),
                'bunch'=>'9'
            ],
            [
                'flower_id'=> '17',
                'buyer_id'=> '2',
                'created_at'=>Carbon::now(),
                'updated_at'=>Carbon::now(),
                'bunch'=>'3'
            ],
            [
                'flower_id'=> '2',
                'buyer_id'=> '2',
                'created_at'=>Carbon::now(),
                'updated_at'=>Carbon::now(),
                'bunch'=>'1'
            ],
            [
                'flower_id'=> '18',
                'buyer_id'=> '1',
                'created_at'=>Carbon::now(),
                'updated_at'=>Carbon::now(),
                'bunch'=>'7'
            ],

        ]);
    }
}

路徑:database/seeds/DatabaseSeeder.php
填入程式碼

<?php
use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    public function run()
    {   
        $this->call(BuyerTableSeeder::class);
        $this->call(FlowerBuyerTableSeeder::class);
    }
}

運行種子,在 Terminal 輸入指令

$ php artisan db:seed

建立 Controller

路徑:app/Http/Controllers/FlowerBuyerController.php
填入程式碼

<?php

namespace App\Http\Controllers;

use App\Flower;


class FlowerBuyerController extends Controller
{
    public function ManyToMany($id)
    {
        $FBC = Flower::where('id',$id)
        ->with('buyers')
        ->get();

        return $FBC;
    }
}

建立 Route

路徑:routes/api.php
填入程式碼

<?php
Route::get('/flower/manytomany/{id}', 'FlowerBuyerController@ManyToMany');

明天會再稍微解析下表單間的關聯性。

參考連結:
❁ Laravel 官方 - Eloquent: Relationships
❁ PHP laravel中的多對多關係例項詳解
❁ Charllen 大 - Laravel新手基礎訓-Eloquent: Relationships-One to Many


上一篇
✾後花園D41✾-多元的 多 對 多 關係? Part 1( Many To Many Relationships 模型及遷移 )
下一篇
✾後花園D43✾-多元的 多 對 多 關係? Part 3( Many To Many Relationships 資料庫及 postman 運行 )
系列文
在後花園遇見LP,Laravel及PHP的甜蜜糾纏,火熱上映49
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言