1 回答

TA貢獻1874條經驗 獲得超12個贊
我將使用一個簡單的one-to-many
關系,因此您將有一個puppies
表和一個measurements
表,其中measurements
表保存發生的所有不同測量。
這將允許您為特定的小狗添加任意數量的測量值。
我選擇measured_at代替weighed_at小狗稱重的日期,因為也許您會在測量表中添加一個新列(例如身高),所以我認為使用代替是有意義的,因為您可能不measured_at這樣weighed_at做想要多個測量日期。
要開始使用,您可以使用以下命令:
php artisan make:migration create_puppies_table
php artisan make:migration create_measurements_table
然后將以下內容添加到您的遷移中。
幼犬遷徙:
Schema::create('puppies', function (Blueprint $table) {
? ? $table->id();
? ? $table->timestamps();
});
測量遷移:
Schema::create('measurements', function (Blueprint $table) {
? ? $table->id();
? ? $table->foreignId('puppy_id')->constrained();
? ? $table->timestamp('measured_at');
? ? $table->timestamps();
});
然后,您將需要兩個模型Puppy,并且Measurement可以在其中定義關系方法:
小狗模型:
public function measurements()
{
? ? return $this->hasMany('App\Measurement');
}
測量模型:
public function puppy()
{
? ? return $this->belongsTo('App\Puppy');
}
附:
您唯一需要考慮的是如何存儲權重,可能是 a ,decimal
也可能是 an?integer
,如果您將其存儲為整數,則每次檢索/存儲在數據庫中時都必須將其轉換。
- 1 回答
- 0 關注
- 114 瀏覽
添加回答
舉報