本系列文的環境狀態,可點擊此連結後花園環境參考
本篇之後可能會再做內容修飾,但內文程式碼再運行上是沒問題的。
在 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
路徑: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;
}
}
路徑:routes/api.php
填入程式碼
<?php
Route::get('/flower/manytomany/{id}', 'FlowerBuyerController@ManyToMany');
明天會再稍微解析下表單間的關聯性。
參考連結:
❁ Laravel 官方 - Eloquent: Relationships
❁ PHP laravel中的多對多關係例項詳解
❁ Charllen 大 - Laravel新手基礎訓-Eloquent: Relationships-One to Many