[英]Laravel/PHP MySQL One to Many Relationship using Json
首先,以Json列的形式存儲一對多關系是一個好主意,如果是這樣,我如何在laravel中編寫查詢以檢索數據
例如:
我有活動表和垂直表
活動表
id | activity | verticals
1 | Dusting | [1,2]
2 | Oiling | [3]
3 | Mopping | [1,2,3]
垂直表
id | vertical
1 | House Keeping
2 | Pantry
3 | Engineering & Machinery
現在在我的儀表板中顯示活動列表,結果應該是
id | activity | verticals
1 | Dusting | Housekeeping, Pantry
2 | Oiling | Engineering & Machinery
3 | Mopping | Housekeeping, Pantry, Engineering & Machinery
現在在傳統的非json方法中我已經使用了laravel Eloquent的self :: hasMany但是如果使用json我可以這樣做嗎
也是可取的嗎?
我創建了一個包含JSON關系的包: https : //github.com/staudenmeir/eloquent-json-relations
您可以創建這樣的多對多關系:
class Activity extends Model
{
use \Staudenmeir\EloquentJsonRelations\HasJsonRelationships;
protected $casts = [
'verticals' => 'json',
];
public function vertical()
{
return $this->belongsToJson(Vertical::class, 'verticals');
}
}
class Vertical extends Model
{
use \Staudenmeir\EloquentJsonRelations\HasJsonRelationships;
public function activities()
{
return $this->hasManyJson(Activity::class, 'verticals');
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.