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
Php 与父表一起保存多行_Php_Laravel_Oop - Fatal编程技术网

Php 与父表一起保存多行

Php 与父表一起保存多行,php,laravel,oop,Php,Laravel,Oop,在我的应用程序中,我有一个付款人表,它与模型中的配偶有很多关系。我想能够添加几个配偶到一个客户的情况下,他们有一个以上的配偶,同时保存他们的详细信息。 为此,我创建了一个Livewire组件配偶,代码如下。该代码允许我为付款人的每个配偶添加新的表单组 <?php namespace App\Http\Livewire; use Livewire\Component; class Spouses extends Component { public $spouses = [];

在我的应用程序中,我有一个付款人表,它与模型中的配偶有很多关系。我想能够添加几个配偶到一个客户的情况下,他们有一个以上的配偶,同时保存他们的详细信息。 为此,我创建了一个Livewire组件配偶,代码如下。该代码允许我为付款人的每个配偶添加新的表单组

<?php
namespace App\Http\Livewire;
use Livewire\Component;
class Spouses extends Component
{
    public $spouses = [];
    public function increments()
    {
        $this->spouses[] =count($this->spouses)+1;
    }   
    public function remove($index){
unset($this->spouses[$index]);
    }  
    public function render()
    {
        return view('livewire.spouses');
    }
}
注意,我试着移动这条线 $配偶=新配偶();
进入foreach循环,但它给了我一个未定义的变量:partnerses

php脚本中的foreach循环正在
$partnerses
上循环,但是这个变量只包含1个新创建的partnerse

您的代码很难阅读,因为在foreach循环中,您再次使用了
$partners
,但含义不同

您的foreach循环应该循环来自表单的配偶,因此它应该循环,例如
$request->input('speace\u name')
或其他内容

但这需要数组数据,我认为表单数据没有正确输入,因为在刀片服务器内部创建了一个foreach循环,但创建了多个同名表单元素。您的表单将只使用最后一个值。如果您将输入名称更改为数组值,它应该会起作用,因此将
spooce\u name
更改为
spooce\u name[]

<div>
    <div>
        <span wire:click ="increments" class="btn btn-defaults fa fa-plus padding:2 py-1 cursor:pointer text-success"> Click to Add Spouse(s)</span>
    </div>
       @foreach($spouses as $spouse)
       <div class="col-md-10 d-flex">
              
{!! Form::text('spouse_name', '',array(
            'class' => 'form-control col-3',
            'id' => 'spouse_name',
            'placeholder' => 'Spouse name',
        ))  !!}
        {!! Form::text('spouse_dob', '',array(
            'class' => 'form-control col-3',
            'id' => 'spouse_dob',
            'placeholder' => 'Spouse Age',
        ))  !!}
        {!! Form::text('spouse_emplbiz_add', '',array(
            'class' => 'form-control col-3',
            'id' => 'spouse_emplbiz_add',
            'placeholder' => 'Work Address',
        ))  !!}
        {!! Form::text('spose_income', '',array(
            'class' => 'form-control col-3',
            'id' => 'spose_income',
            'placeholder' => 'Gross Income',
        )) !!}

        <span class="btn btn-defalt fa fa-times text-danger padding:2" 
        wire:click="remove({{$loop->index}})"></span>
        
    </div>
        @endforeach
 </div>
</div>
public function store(CreatePayerRequest $request)
    { 
        $input = $request->all();
        $payer = $this->payerRepository->create($input);
        {   
           $spouses = new Spouse();
            $input = $request->all();
            foreach($spouses as $spouse){
             $spouses->user_id = Auth::user()->id;
                $spouses->payer_id = 1;
                $spouses->spouse_occupation='NA';
                $spouses->spouse_name = $input['spouse_name'];
                $spouses->spouse_dob = $input['spouse_dob'];
                $spouses->spouse_emplbiz_add = $input['spouse_emplbiz_add'];
                $spouses->spose_income = $input['spose_income'];
                $spouses->save();
              }
               Flash::error('Taxpayers record not saved');
                return redirect(route('payers.index'));