laravel 与 json 列的关系
Posted
技术标签:
【中文标题】laravel 与 json 列的关系【英文标题】:laravel relationship with json column 【发布时间】:2021-12-15 02:26:42 【问题描述】://controller
$promotion = Promotion::findOrFail($id);
//return
Array
(
[id] => 2
[en_title] => promo1
[game_id] => Array
(
[0] => 3
[1] => 4
[2] => 5
)
[amount] => 100.00
[start_at] => 2021-02-22
[end_at] => 2222-02-22
[status] => 1
)
//model promotion
class Promotion extends Model
use HasFactory;
protected $guarded = [];
protected $casts = [
'game_id' => 'array'
];
public function getAllGames()
return $this->belongsTo(Game::class, 'game_id', 'id');
问题:
目前,我有 2 个表,分别是 games 和 promotion,但是在建立关系时我遇到了麻烦,因为 game_id 列promotion 表内部是一个 JSON,因此很难加入它。是否有任何解决方法可以轻松地将它们连接在一起以检索游戏数据?
【问题讨论】:
【参考方案1】:在您的游戏和促销桌之间建立多对多关系, 将您的 game_ids 放入数据透视表 (game_promotion) 而不是 JSON 字段,Many To Many Relationships
【讨论】:
以上是关于laravel 与 json 列的关系的主要内容,如果未能解决你的问题,请参考以下文章
如何通过多对多关系获取与同一张表相关的行 - Laravel