本系列文的環境狀態,可點擊此連結後花園環境參考
本內容還會使用到 Flower 的 Eloquent Model 及 migration
如果尚未建立 Flower ,可參考此連結 Flower step1、Flower step2
先建一個新的 Eloquent Model 命名為 Profile
,並加 -m
同時產生 migration 的 table。
$ php artisan make:model Profile -m
路徑:database/migrations/{日期}_create_profiles_table.php
新增下列程式碼到 public function up()
的 Schema::create
內
$table->string('personality');
$table->unsignedBigInteger('flower_id');
程式碼放置位置,可參考此圖
確認無誤後,在 Terminal 輸入指令,生成資料表
$ php artisan migrate
之後可到資料庫( MySQL )確認 profiles
資料表是否已生成。
會用到 hasOne
跟 belongsTo
的方法
到 Flower 檔,放入 hasOne 方法
路徑:BackGarden/app/Flower.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Flower extends Model
{
public function profile()
{
// 每個 Flower 都有 Profile(正向關係)
return $this->hasOne('App\Profile');
}
}
到 Profile 檔,放入 belongsTo 方法
路徑:BackGarden/app/Profile.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Profile extends Model
{
protected $fillable = [
'personality','flower_id',
];
public function flower()
{
// Profile 屬於 Flower (逆向關係)
return $this->belongsTo('App\Flower');
}
}
基本上,到此 1 對 1 關係就已經建立完成了,接著就是確認關係有沒有建立起來了。
這部份就等到 也許忠貞的 1 對 1 關係? Part 2
,再繼續囉!
參考連結:
❁ Laravel 官方-Eloquent: Relationships
❁ Laravel中的hasOne()和belongsTo()理解
❁ Charleen 大 - Laravel新手基礎訓-Eloquent: Relationships-One to One