Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用贴图更改数组关键点的Laravel Pull_Laravel - Fatal编程技术网

使用贴图更改数组关键点的Laravel Pull

使用贴图更改数组关键点的Laravel Pull,laravel,Laravel,我在地图功能上使用laravel Pull时遇到问题。通常我从数据库中获取付款,如下所示: $payments = Payment::with('translation')->active()->get(); $payments = Payment::with('translation')->active()->get()->map(function ($payment) { return ['key' => $payment->

我在地图功能上使用laravel Pull时遇到问题。通常我从数据库中获取付款,如下所示:

$payments = Payment::with('translation')->active()->get();
$payments = Payment::with('translation')->active()->get()->map(function ($payment) {
            return ['key' => $payment->getName() . ' +' . $payment->cost, 'value' => $payment->id];
        })
->pluck('key', 'value')
->prepend('Choose payment...');
结果是:

每个付款都有不同的翻译,所以我使用函数来获得正确的翻译。为此,我在查询中添加了映射函数,以获得如下转换:

$payments = Payment::with('translation')->active()->get();
$payments = Payment::with('translation')->active()->get()->map(function ($payment) {
            return ['key' => $payment->getName() . ' +' . $payment->cost, 'value' => $payment->id];
        })
->pluck('key', 'value')
->prepend('Choose payment...');
结果是:

数组键与付款键不同。应该是1,9,12等等

如果我为值切换拨拉顺序,则键结果将为右键:

但在此之后,htmlcollective({!!Form::select()!!})中的blade表单将以下拉文本的形式显示键,以值的形式显示翻译。(像反面一样)


有什么简单的方法可以解决这个问题吗?

这是导致键出错的原因。没有指定键的任何前置键都将自动添加为0(零),并且所有其他键将从此处开始计数

要修复更改,请执行以下操作:

->prepend('Any text here');
致:

密钥将设置为“”,其他密钥不会更改: