有没有办法从查询生成器访问
isJsonSelector
方法?
我正在尝试使用Laravel的wrapJsonSelector方法将路径为'foo->bar'的json列名转换为与mysql/mariadb兼容。
例如
$query->where(function (Builder $query) use ($searchColumn): Builder {
if ($query->getGrammar()->isJsonSelector($searchColumn)) {
$searchColumn = $query->getGrammar()->wrapJsonSelector($searchColumn);
}
// ...
})
但是抛出错误
方法 Illuminate\Database\Query\Grammars\MySqlGrammar::isJsonSelector 不存在。
DB::table('your_table')
->selectRaw('your_json_column->"$.foo->bar" as modified_column')
->get();
selectRaw 方法允许您在查询中编写原始 SQL 表达式。