[英]PHP / Laravel - Saving an array to database
我很難理解Laravel中的基本屬性轉換。
我想在數據庫中存儲一些坐標:
$coordinates = [
'x' => 100,
'y' => 60,
'h' => 250,
'w' => 250,
];
為了保存坐標,我這樣做:
$field = StreamField::find(4);
$field->coordinates = $coordinates;
$field->save();
我在Field
模型上聲明了以下casts
:
protected $casts = [
'coordinates' => 'array'
];
然后,當我想獲取數據時,請執行以下操作:
$field = StreamField::find(4);
return $field->coordinates['x'];
在我的遷移中, coordinates
列的創建如下:
$table->json('coordinates')->nullable();
現在這是正確的方法嗎?
是的,這是正確的方法。 您還可以將XML另存為字符串(無論您喜歡什么)。
Altrought我將在保存坐標時使用getter和setter來對輸入進行驗證(如果需要)。 因為如果發生任何錯誤,程序將不會寫入json而是會錯誤(作為字符串)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.