第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Laravel Eloquent ORM 中存儲元組數(shù)組

在 Laravel Eloquent ORM 中存儲元組數(shù)組

PHP
冉冉說 2023-08-11 11:03:03
我對 Laravel 相當陌生,并且對他們雄辯的模型非常感興趣。我正在開展一個小型實踐項目,需要有關(guān)如何最好地存儲一些數(shù)據(jù)的建議。我想在表中存儲小狗的體重和測量體重的日期(最好以元組或 json 格式)。我想稍后使用這些數(shù)據(jù)來使用 Vue 創(chuàng)建圖表,以便創(chuàng)建描述隨時間增長的圖表和圖形。最好的方法是什么?我想象在模型遷移中會有某種$table->integer('weight'), $table->timestamp('weight-measurement-date')或可能的情況$table->json('weight-data'),但我仍然是新手,不熟悉最佳實踐。當然,數(shù)據(jù)庫表需要存儲數(shù)據(jù)而不會覆蓋或刪除以前的條目。任何幫助將非常感激。
查看完整描述

1 回答

?
HUWWW

TA貢獻1874條經(jīng)驗 獲得超12個贊

我將使用一個簡單的one-to-many關(guān)系,因此您將有一個puppies表和一個measurements表,其中measurements表保存發(fā)生的所有不同測量。

https://img3.sycdn.imooc.com/64d5a50a00014d9d04760202.jpg

這將允許您為特定的小狗添加任意數(shù)量的測量值。


我選擇measured_at代替weighed_at小狗稱重的日期,因為也許您會在測量表中添加一個新列(例如身高),所以我認為使用代替是有意義的,因為您可能不measured_at這樣weighed_at做想要多個測量日期。


要開始使用,您可以使用以下命令:


php artisan make:migration create_puppies_table


php artisan make:migration create_measurements_table

然后將以下內(nèi)容添加到您的遷移中。


幼犬遷徙:


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可以在其中定義關(guān)系方法:


小狗模型:


public function measurements()

{

? ? return $this->hasMany('App\Measurement');

}

測量模型:


public function puppy()

{

? ? return $this->belongsTo('App\Puppy');

}


附:

您唯一需要考慮的是如何存儲權(quán)重,可能是 a ,decimal也可能是 an?integer,如果您將其存儲為整數(shù),則每次檢索/存儲在數(shù)據(jù)庫中時都必須將其轉(zhuǎn)換。


查看完整回答
反對 回復(fù) 2023-08-11
  • 1 回答
  • 0 關(guān)注
  • 122 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號