javascript - Laravel Error Exception. Array to string Conversion

I'm trying to insert multiple row data in two databse table using single click but the only one row inserted .

protected $table = 'biniyojan';

it throw an another error like this: (Illuminate\Database\Grammar::parameterize(): Argument #1 ($values) must be of type array, string given) How can i solve this issue?? ////Modified Controller//////

public function bbcreate(Request $request)
{

    //dd($request->all());
    $biniyojan_details = new BiniyojanDetails();


    $biniyojan = new Biniyojan();
    $biniyojan->details_id = $biniyojan_details->details_id;
    $biniyojan->date =  $request->date;
    $biniyojan->ab =  $request->ab;
    $biniyojan->school =  $request->school;
    $biniyojan->behora =  $request->behora;
    $biniyojan->save();


    $biniyojan_details = new BiniyojanDetails();
    if (!empty($request->school)) {
        for ($i = 0; $i < count((array)$request->school); $i++) {
        $biniyojan_details['biniyojan_id'] = $biniyojan->id;
        $biniyojan_details['school'] = $request->school[$i];
        $biniyojan_details['source'] = $request->source[$i];
        $biniyojan_details['kriyakalap'] = $request->kriyakalap[$i];
        //$biniyojan_details->debit_credit = $request->debit_credit[$i];
        //$biniyojan_details->debit_credit_type = $request->debit_credit_type[$i];
        $biniyojan_details['cash'] = $request->cash[$i];
        $biniyojan_details->save();
        }
    }
    return redirect()->back()->with('status', 'Inserted');
} 

/////View Blade////////

<form method="POST" action="{{ route('bbcreate') }}">
    @csrf
    <div class="form-row col-x1-3">
        <div class="form-group     col-md-2">
            <input type="date" placeholder="?��?�??��?�?" value="@php echo $today; @endphp" name="date[]" class="form-control" id="inputCity" required>
        </div>
        <div class="form-group col-md-2">
            <select id="inputState" placeholder="" name="ab[]" class="form-control" required>
                <option>2079-080</option>
                <option>2078-079</option>
            </select>
        </div>



        <div class="form-group     col-md-2">
            <select id="inputState" name="school[]" class="form-control" required>
                <option selected disabled>?�?????��??�?�� ?�??�??��?�???� ?�??��?�?????�??�? </option>
                @foreach ($school_array as $sch)
                <option value="{{ $sch -> name }}">{{ $sch -> name}}</option>
                @endforeach
            </select>
        </div>
    </div>
    <div id="form-field">
        <div class="form-row col-x1-3">
            <div class="form-group col-md-2">
                <select id="source" name="source[]" class="form-control" required>
                    <option selected disabled value="">?�?????��??�?��</option>
                    <option>?��??�?�?????��????��</option>
                    <option>?�?????��?��??�?��</option>
                    <option>?�?????�??�??�?????�?</option>
                    <option>?��?�?????�?</option>
                </select>
            </div>
            <div class="form-group col-md-2">
                <select id="kriyakalap" name="kriyakalap[]" class="form-control" required>
                    <option selected disabled>?��????��?�??�??�??��?�??�??�?</option>
                    @foreach ($bini as $bi)
                    <option value="{{$bi->kriyakalap}}"> {{$bi->kriyakalap}}</option>
                    @endforeach

                </select>
            </div>
            <div class="form-group col-md-2">
                <select name="debit_credit[]" id="debit_credit" class="form-control" required>
                    <option selected="selected" disabled>?�???�?��?�??�? / ?��????��??�?�??�??�?</option>
                </select>
            </div>
            <div class="form-group col-md-2">
                <select name="debit_credit_type[]" id="debit_credit_type" class="form-control" required>
                    <option selected="selected" disabled>?�???�?��?�??�? / ?��????��??�?�??�??�? ?�?????��?��?�??��</option>
                </select>
            </div>

            <div class="form-group col-md-2">
                <input type="text" placeholder="?��?��?��" name="cash[]" class="form-control" id="price" required>
            </div>
            <div class="form-group col-md-2">
                <input type="button" class="btn btn-success" name="add" id="add" value="+">
            </div>
        </div>
    </div>
    <div class="form-row col-x1-3" style="justify-content:left ;">
        <div class="form-group     col-md-2">
            <input type="text" placeholder="?��????�??�???�?��?�?" name="behora[]" class="form-control" id="behora" required>
        </div>

        <div class="form-group col-md-2">
            <input type="submit" id="submit" name="submit" value="?��?�??��????�?????�???�?�????" class="btn btn-primary ">

        </div>

        @if (session('status'))
        <div class="alert alert-success">
            {{ session('status') }}
        </div>
        @endif

    </div>
    <div form-row col-x1-3 id="showdata" class="showdata">
        <p class="show_data"></p>
        <p id="showdata" class="showdata"></p>
    </div>
</form>`enter code here`


//////jQuery For Repeat form////////[enter image description here][1]
<!-- form repeat -->

<script type="text/javascript">
        $(document).ready(function() {
        var html = '<span><div id="form-field"> <div class="form-row col-x1-3"> <div class="form-group col-md-2"> <select id="source" name="source[]" class="form-control" required> <option selected disabled value="">?�?????��??�?��</option> <option>?��??�?�?????��????��</option> <option>?�?????��?��??�?��</option> <option>?�?????�??�??�?????�?</option> <option>?��?�?????�?</option> </select> </div> <div class="form-group col-md-2"> <select id="kriyakalap" name="kriyakalap[]" class="form-control" required> <option selected disabled>?��????��?�??�??�??��?�??�??�?</option> @foreach ($bini as $bi) <option value="{{$bi->kriyakalap}}"> {{$bi->kriyakalap}}</option> @endforeach </select> @foreach ($bini as $bi) @endforeach </div> <div class="form-group col-md-2"> <select name="debit_credit[]" id="debit_credit" class="form-control" required> <option selected="selected" disabled>?�???�?��?�??�? / ?��????��??�?�??�??�?</option> </select> </div> <div class="form-group col-md-2"> <select name="debit_credit_type[]" id="debit_credit_type" class="form-control" required> <option selected="selected" disabled>?�???�?��?�??�? / ?��????��??�?�??�??�? ?�?????��?��?�??��</option> </select> </div> <div class="form-group col-md-2"> <input type="text" placeholder="?��?��?��" name="cash[]" class="form-control" id="price" required> </div> <div class="form-group col-md-2"> <input type="button" class="btn btn-danger" name="remove" id="remove" value="-"> </div> </div> </div></span>';
        var max = 5;
        var x = 1;
        $("#add").click(function() {
            if (x <= max) {
                $("#form-field").append(html);
                x++;
            }
        })
        $("#form-field").on('click', '#remove', function() {
            $(this).closest('span').remove();
            x--;
        });
    });

</script>

<!-- form repeat -->


  [1]: https://i.stack.imgur.com/rzb3C.png

Answer

Solution:

please try this:-

public function bbcreate(Request $request){

    $biniyojan_details = new BiniyojanDetails();
    $biniyojan_details->school = $request->school;
    $biniyojan_details->source = $request->source;
    $biniyojan_details->kriyakalap = $request->kriyakalap;
    $biniyojan_details->debit_credit = $request->debit_credit;
    $biniyojan_details->debit_credit_type = $request->debit_credit_type;
    $biniyojan_details->cash = $request->cash;

    $biniyojan_details->save();

    if(!empty($request->school)){
        for($i=0; $i< count($request->school); $i++){
            $biniyojan              = new Biniyojan();
            $biniyojan->details_id  = $biniyojan_details->id;
            $biniyojan->date        = $request->date[$i];
            $biniyojan->ab          = $request->ab[$i];
            $biniyojan->school      = $request->school[$i];
            $biniyojan->behora      = $request->behora[$i];
            $biniyojan->save();

        }

    }
    return redirect()->back()->with('status', 'Inserted');
}

Answer

Solution:

As you said you are trying to insert multiple row data.

Then You must convert array into json to store it into database.

Do like this - json_encode($request->school,true);

Source