php – 如何在没有重建索引的情况下将项目添加到laravel列表集合中?

尝试将collectino传递给视图中的表单选择. prepend方法正在重新索引集合,我正在丢失正确的公司ID.

$companies = Company::lists('name','id');
return $companies;

/*
 * {
 *     "3": "Test 123 ",
 *     "4": "wer"
 *  }
 */

$companies->prepend('Select a company');
return $companies;

/*
 * [
 *      "Select a company",
 *      "Test 123 ",
 *      "wer"
 * ]
 */

我现在在prepend方法中查找Collection对象,这里是:

public function prepend($value, $key = null)
{
    $this->items = Arr::prepend($this->items, $value, $key);

    return $this;
}

解决方法:

好的,我很快找到了解决方案.通过传递第二个参数的键,我使用0,该方法将保持原始键.

$companies->prepend('Select a company', 0);
return $companies;

 \*
  * {
  *     "0": "Select a company",
  *     "3": "Test 123 ",
  *     "4": "wer"
  * }
  *\

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...