从数据库到 eloquent laravel 的数组数据类型
array datatype from database to eloquent laravel
我将数据存储在数据库中,列数据类型为数组。我可以按如下方式在 PostgreSQL 中获取值:
select id, student, subject[1] as first_subject, subject[array_length(subject, 1)] as last_subject
from tableinfo
因此,我需要在 Laravel eloquent 查询中获取数组的第一个和最后一个值。但是在 eloquent 中使用 select 似乎不起作用。
Eloquent查询:
DB::Table('tableinfo')
->select('id', 'name', 'subject[array_length(subject, 1)] as last_subject')
->get();
我收到的错误信息:
您不能使用 custom/raw select 使用 select
方法,但您可以使用 selectRaw
方法,如下所示:
DB::Table('tableinfo')
->select('id', 'name')
->selectRaw('subject[array_length(subject, 1)] as last_subject')
->get();
以上代码将生成如下查询:
select "id", "name", subject[array_length(subject, 1)] as last_subject from "tableinfo"
我将数据存储在数据库中,列数据类型为数组。我可以按如下方式在 PostgreSQL 中获取值:
select id, student, subject[1] as first_subject, subject[array_length(subject, 1)] as last_subject
from tableinfo
因此,我需要在 Laravel eloquent 查询中获取数组的第一个和最后一个值。但是在 eloquent 中使用 select 似乎不起作用。
Eloquent查询:
DB::Table('tableinfo')
->select('id', 'name', 'subject[array_length(subject, 1)] as last_subject')
->get();
我收到的错误信息:
您不能使用 custom/raw select 使用 select
方法,但您可以使用 selectRaw
方法,如下所示:
DB::Table('tableinfo')
->select('id', 'name')
->selectRaw('subject[array_length(subject, 1)] as last_subject')
->get();
以上代码将生成如下查询:
select "id", "name", subject[array_length(subject, 1)] as last_subject from "tableinfo"