mysql5.7以后才原生支持json数据类型, 所以还是尽量避免这种设计吧.
可以像JellyBool老师说的那样, 使用Eloquent模型查出来后, 使用filter方法过滤掉一下,
首先是需要在模型中设置属性$casts = ['value' => 'array']
$filtered = $model->get()->filter(function($item) {
return $item['value']['number'] < 100;
});
但是这样是不太好的设计, 浪费大量数据库查询时间, 而且占用大量内存.
而且实际工程中, 还要考虑更新, 并发(自增, 自减)等情况.
因此在数据库不原生支持JSON数据类型的情况下, 请三思再使用吧.