php - 如何使用mysql获取数组列内特定索引的值?

标签 php mysql laravel laravel-5

This is my database table

$reports = DB::table('attendance_report_details')
            ->select('*','project_hours[$index_id]')
            ->get();

我将索引 id 传递给函数。有没有办法做到这一点?

最佳答案

使用箭头运算符(仅限 MySQL):

$reports = DB::table('attendance_report_details')
    ->select('*', DB::raw("project_hours->'$[".(int) $index_id."]'"))
    ->get();

或其别名JSON_EXTRACT()(MySQL 和 MariaDB):

$reports = DB::table('attendance_report_details')
    ->select('*', DB::raw("json_extract(project_hours, '$[".(int) $index_id."]')"))
    ->get();

关于php - 如何使用mysql获取数组列内特定索引的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53295142/

相关文章:

mysql - MySQL中存储一段时间

php - Laravel 单元测试 - 根据测试方法更改配置值

php - (1/1) MethodNotAllowedHttpException

php - 如何使用此 php 代码动态打开新页面?

php - 如何在 php 中查找、递增和替换?

php - 将从 AJAX 发送的多个值插入到 sql 数据库中

python - Django 迁移到 MySql

php - 缓存——磁盘还是数据库?

mysql - 包含 3 个数据的 SQL 分组

javascript - 动态 slider 双内容显示