Laravel 5合并数组
Laravel 5 Merge an array
我正在尝试将数组与来自随机数字字符串形式的输入合并
在我的表格中我有
<input type="text" name="purchase_order_number" id="purchase_order_number" value="{{ $purchase_order_number }}" />
在控制器中:
public function store(CandidateRequest $request)
{
$candidateInput = Input::get('candidates');
$purchaseOrderNumber = Input::get('purchase_order_number');
foreach ($candidateInput as $candidate)
{
$data = array_merge($candidate, [$purchaseOrderNumber]);
$candidate = Candidate::create($data);
dd($data);
当我 dd($data) 它得到我的 purchase_order_number 但如下所示但我如何将它分配给 table 中的那一行?
array:6 [▼
"candidate_number" => "5645"
"givennames" => "fgfgf"
"familyname" => "dfgfg"
"dob" => "01/01/2015"
"uln" => "45565445"
0 => "5874587"
]
非常感谢,
试试这个:
$data = [];
foreach ($candidateInput as $candidate)
array_push($data,$candidate);
array_merge($data,$purchaseOrderNumber);
$candidate = Candidate::create($data);
dd($data);
我在一些帮助下解决了这个问题,但答案是添加:
$data = array_merge($candidate, ['purchase_order_number' => $purchaseOrderNumber]);
感谢所有试图提供帮助的人:)
你可以试试这个,
$data = array_merge($candidate, compact('purchaseOrderNumber'));
另一种方法(我认为最简单的方法)是 union of arrays
$candidate += ['purchase_order_number' => $purchaseOrderNumber];
The +
operator returns the right-hand array
appended to the left-hand array
; for keys that exist in both arrays, the elements from the left-hand array
will be used, and the matching elements from the right-hand array
will be ignored.
$data = array_merge(['item'=>$item->toArray()], ['chef' => $chef->toArray()]);
$data = $firstArray->merge($secondArray);
试试这个:
use Illuminate\Support\Arr;
$array = Arr::collapse([[1, 2, 3], [4, 5, 6], [7, 8, 9]]);
// [1, 2, 3, 4, 5, 6, 7, 8, 9]
我正在尝试将数组与来自随机数字字符串形式的输入合并
在我的表格中我有
<input type="text" name="purchase_order_number" id="purchase_order_number" value="{{ $purchase_order_number }}" />
在控制器中:
public function store(CandidateRequest $request)
{
$candidateInput = Input::get('candidates');
$purchaseOrderNumber = Input::get('purchase_order_number');
foreach ($candidateInput as $candidate)
{
$data = array_merge($candidate, [$purchaseOrderNumber]);
$candidate = Candidate::create($data);
dd($data);
当我 dd($data) 它得到我的 purchase_order_number 但如下所示但我如何将它分配给 table 中的那一行?
array:6 [▼
"candidate_number" => "5645"
"givennames" => "fgfgf"
"familyname" => "dfgfg"
"dob" => "01/01/2015"
"uln" => "45565445"
0 => "5874587"
]
非常感谢,
试试这个:
$data = [];
foreach ($candidateInput as $candidate)
array_push($data,$candidate);
array_merge($data,$purchaseOrderNumber);
$candidate = Candidate::create($data);
dd($data);
我在一些帮助下解决了这个问题,但答案是添加:
$data = array_merge($candidate, ['purchase_order_number' => $purchaseOrderNumber]);
感谢所有试图提供帮助的人:)
你可以试试这个,
$data = array_merge($candidate, compact('purchaseOrderNumber'));
另一种方法(我认为最简单的方法)是 union of arrays
$candidate += ['purchase_order_number' => $purchaseOrderNumber];
The
+
operator returns theright-hand array
appended to theleft-hand array
; for keys that exist in both arrays, the elements from theleft-hand array
will be used, and the matching elements from theright-hand array
will be ignored.
$data = array_merge(['item'=>$item->toArray()], ['chef' => $chef->toArray()]);
$data = $firstArray->merge($secondArray);
试试这个:
use Illuminate\Support\Arr;
$array = Arr::collapse([[1, 2, 3], [4, 5, 6], [7, 8, 9]]);
// [1, 2, 3, 4, 5, 6, 7, 8, 9]