Laravel 选择2-如何设置id字符串的值

Laravel 选择2-如何设置id字符串的值,laravel,laravel-5.3,select2,Laravel,Laravel 5.3,Select2,我有一些问题,使用select2,我想发送idinteger的值,但有问题, 这是我的密码 控制器 $user = User::select('user_reg_no as id', 'user_name as text')->get()->toArray(); return response()->json($user); js function get_user() { res = $.ajax({ type: 'get', dat

我有一些问题,使用select2,我想发送
id
integer的值,但有问题, 这是我的密码

控制器

$user = User::select('user_reg_no as id', 'user_name as text')->get()->toArray();
return response()->json($user);
js

function get_user() {
    res = $.ajax({
        type: 'get',
        dataType: 'json',
        url: SITE_URL,
        async: false
    });
    return res.responseJSON;
}

var data_user = get_user();

$('#user').select2({
    data: data_user
});
然后当
id
0000345

但是在select2been
345
中,如何处理这个问题?

这里
JSON
响应中的
id
是一个整数,因此它将删除前面的零

选项1

手动构建
JSON
响应,然后从控制器发送响应

选项2

使用
Model
中的
$Cast
数组直接强制转换属性

protected $casts = [
   'id' => 'string',
];

您可以发布从控制器获得的json响应示例吗?
[{“id”:“,“text”:”},{“id”:256,“text”:“Darth Vader”},{“id”:289,“text”:“Zero”}]
实际上代码是00256和00289您能检查一下表吗?我认为表本身保存为256,而不是00256。请发布迁移文件。您可以在id中添加字母表,以便将其视为字符串,当您从用户处获取数据时,可以将其删除。选项1和选项2都不起作用,因为JSON数据作为字符串传输。如果响应具有
application/json
,系统将对其进行解析并将其转换为整数。