web-dev-qa-db-ja.com

Laravel 5配列をマージする

配列をランダムな数字の文字列の形式からの入力とマージしようとしています

私の形で私は持っています

<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が取得されますが、以下に示すように、テーブルのその行に割り当てるにはどうすればよいですか?

array:6 [▼
  "candidate_number" => "5645"
  "givennames" => "fgfgf"
  "familyname" => "dfgfg"
  "dob" => "01/01/2015"
  "uln" => "45565445"
  0 => "5874587"
]

どうもありがとう、

4
0w3n86

私はいくつかの助けを借りてこれを理解しましたが、答えは追加することです:

$data = array_merge($candidate, ['purchase_order_number' => $purchaseOrderNumber]);

助けようとした他のみんなに感謝します:)

10
0w3n86

あなたはこれを試すことができます、

$data = array_merge($candidate, compact('purchaseOrderNumber'));
3
Pantelis Peslis

これを行う別の方法(私が思う最も簡単な方法)は、 union of arrays を実行することです。

$candidate += ['purchase_order_number' => $purchaseOrderNumber]; 

+演算子はright-hand arrayleft-hand array;に追加両方の配列に存在するキーの場合、left-hand arrayの要素が使用され、right-hand arrayは無視されます。

1
Dexter Bengil
 $data = array_merge(['item'=>$item->toArray()], ['chef' => $chef->toArray()]);
0
Mehul Patel

これを試して:

$data = [];

foreach ($candidateInput as $candidate)
    array_Push($data,$candidate);

 array_merge($data,$purchaseOrderNumber);

 $candidate = Candidate::create($data);

 dd($data);
0
Houssain Amrani