配列をランダムな数字の文字列の形式からの入力とマージしようとしています
私の形で私は持っています
<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"
]
どうもありがとう、
私はいくつかの助けを借りてこれを理解しましたが、答えは追加することです:
$data = array_merge($candidate, ['purchase_order_number' => $purchaseOrderNumber]);
助けようとした他のみんなに感謝します:)
あなたはこれを試すことができます、
$data = array_merge($candidate, compact('purchaseOrderNumber'));
これを行う別の方法(私が思う最も簡単な方法)は、 union of arrays
を実行することです。
$candidate += ['purchase_order_number' => $purchaseOrderNumber];
+
演算子はright-hand array
left-hand array
;に追加両方の配列に存在するキーの場合、left-hand array
の要素が使用され、right-hand array
は無視されます。
$data = array_merge(['item'=>$item->toArray()], ['chef' => $chef->toArray()]);
これを試して:
$data = [];
foreach ($candidateInput as $candidate)
array_Push($data,$candidate);
array_merge($data,$purchaseOrderNumber);
$candidate = Candidate::create($data);
dd($data);