محمد
1 سال پیش توسط محمد مطرح شد
0 پاسخ

خطای ثبت فرم

سلام خسته نباشید من میخام یک فرم رو توی دیتابیس ثبت بکنم از رابطه چند به چند هم استفاده میکنم ولی این ارور را دریافت میکنم
arraykeyfirst(): Argument #1 ($array) must be of type array, int given

کد فرانت

<div class="modal-content">
            <!--begin::Form-->
            <form class="form" action="{{route('orders.store')}}" id="kt_modal_new_address_form" method="post">

            @csrf
                <!--begin::Modal header-->
                <div class="modal-header" id="kt_modal_new_address_header">
                    <!--begin::Modal title-->
                    <h2>ثبت سفارش جدید</h2>
                    <!--end::Modal title-->
                    <!--begin::Close-->
                    <div class="btn btn-sm btn-icon btn-active-color-primary" data-bs-dismiss="modal">
                        <!--begin::Svg Icon | path: icons/duotune/arrows/arr061.svg-->
                        <span class="svg-icon svg-icon-1">
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                                <rect opacity="0.5" x="6" y="17.3137" width="16" height="2" rx="1" transform="rotate(-45 6 17.3137)" fill="currentColor" />
                                <rect x="7.41422" y="6" width="16" height="2" rx="1" transform="rotate(45 7.41422 6)" fill="currentColor" />
                            </svg>
                        </span>
                        <!--end::Svg Icon-->
                    </div>
                    <!--end::Close-->
                </div>
                <!--end::Modal header-->
                <!--begin::Modal body-->
                <div class="modal-body py-10 px-lg-17">
                    <!--begin::Scroll-->
                    <div class="scroll-y me-n7 pe-7" id="kt_modal_new_address_scroll" data-kt-scroll="true" data-kt-scroll-activate="{default: false, lg: true}" data-kt-scroll-max-height="auto" data-kt-scroll-dependencies="#kt_modal_new_address_header" data-kt-scroll-wrappers="#kt_modal_new_address_scroll" data-kt-scroll-offset="300px">
                        <!--begin::Notice-->
                        <!--begin::Notice-->
                        <div class="notice d-flex bg-light-warning rounded border-warning border border-dashed mb-9 p-6">
                            <!--begin::Icon-->
                            <!--begin::Svg Icon | path: icons/duotune/general/gen044.svg-->
                            <span class="svg-icon svg-icon-2tx svg-icon-warning me-4">
                                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                                    <rect opacity="0.3" x="2" y="2" width="20" height="20" rx="10" fill="currentColor" />
                                    <rect x="11" y="14" width="7" height="2" rx="1" transform="rotate(-90 11 14)" fill="currentColor" />
                                    <rect x="11" y="17" width="2" height="2" rx="1" transform="rotate(-90 11 17)" fill="currentColor" />
                                </svg>
                            </span>
                            <!--end::Svg Icon-->
                            <!--end::Icon-->
                            <!--begin::Wrapper-->
                            <div class="d-flex flex-stack flex-grow-1">
                                <!--begin::Content-->
                                <div class="fw-semibold">
                                    <h4 class="text-gray-900 fw-bold">توجه</h4>
                                    <div class="fs-6 text-gray-700">در صورتی که چند فرش با جنس مختلف دارید همان جنس را هم سلکت کنید
                                    </div>
                                </div>
                                <!--end::Content-->
                            </div>
                            <!--end::Wrapper-->
                        </div>
                        <!--end::Notice-->
                        <!--end::Notice-->
                        <!--begin::Input group-->
                        <div class="row g-9 mb-5">
                            <!--begin::Col-->
                            <div class="col-md-6 fv-row">
                                <!--begin::Tags-->
                                <label class="required fs-5 fw-semibold mb-2">نوع فرش</label>
                                <!--end::Tags-->
                                <!--begin::Input-->
                                <select class="form-select form-select-solid" name="types[]" data-control="select2" data-placeholder="انتخاب نوع فرش " data-allow-clear="true" multiple>

                                    @foreach (\App\Models\Type::all() as $Type)

                                    <option value="{{ $Type->id }}"> {{ $Type->name }}</option>

                                    @endforeach
                                </select>
                                <!--end::Input-->
                            </div>
                            <!--end::Col-->
                            <!--begin::Col-->
                            <div class="col-md-6 fv-row">
                                <!--begin::Tags-->
                                <label class="fs-5  required fw-semibold mb-2">تعداد فرش</label>
                                <!--end::Tags-->
                                <!--begin::Input-->
                                <input class="form-control form-control-solid" placeholder="تعداد فرش را وارد کنید " name="Number"  type="number" />
                                <!--end::Input-->
                            </div>

                            <!--end::Col-->
                        </div>

                        <div class="row g-9 mb-5">
                            <!--begin::Col-->
                            <div class="col-md-8 fv-row">
                                <!--begin::Tags-->
                                <label class="fs-5  required fw-semibold mb-2">ادرس</label>
                                <!--end::Tags-->
                                <!--begin::Input-->
                                <input class="form-control form-control-solid" placeholder="آدرس منزل" name="Address" />
                                <!--end::Input-->
                            </div>
                            <!--end::Col-->
                            <!--begin::Col-->
                            <div class="col-md-4 fv-row">
                                <!--begin::Tags-->
                                <label class="fs-5 required fw-semibold mb-2">پلاک منزل</label>
                                <!--end::Tags-->
                                <!--begin::Input-->
                                <input class="form-control form-control-solid" placeholder="پلاک منزل" name="plak" />
                                <!--end::Input-->
                            </div>

                            <div class="d-flex flex-column mb-5 fv-row">
                                <!--begin::Tags-->
                                <label class="fs-5 fw-semibold mb-2">توضیح</label>
                                <!--end::Tags-->
                                <!--begin::Input-->
                                <input class="form-control form-control-solid" placeholder="توضیح در صورت لزوم" name="explanation" />
                                <!--end::Input-->
                            </div>
                            <!--end::Col-->
                        </div>
                        <!--end::Input group-->
                        <!--begin::Input group-->

                        <!--end::Input group-->
                    </div>
                    <!--end::Scroll-->
                </div>
                <!--end::Modal body-->
                <!--begin::Modal footer-->
                <div class="modal-footer flex-center">
                    <!--begin::Button-->
                    <button type="reset" id="kt_modal_new_address_cancel" class="btn btn-light me-3">لغو</button>
                    <!--end::Button-->
                    <!--begin::Button-->
                    <button type="submit" id="kt_modal_new_address_submit" class="btn btn-primary">
                        <span class="indicator-label">ثبت سفارش</span>

                    </button>
                    <!--end::Button-->
                </div>
                <!--end::Modal footer-->
            </form>
            <!--end::Form-->
        </div>```

کد کنترلر

public function store(Request $request)

{

    $code = mt_rand(1000, 9999);

    $validate = $request->validate([

        'user_id' => auth()->user()->id,
        'Number' => 'required' ,
        'Address' => 'required',
        'plak' => 'required',
        'explanation' => 'nullable',
        'types' =>  'array',
        'code' =>  $code ,

    ]);

   $order= Order::create($validate);
   $order->types()->sync($validate['types']);

    return redirect(route('orders.index'));
}

کد مدل ها

class Order extends Model
{

protected $fillable = [

    'user_id',
    'Number',
    'Address',
    'plak',
    'explanation'

];

public function types ()
{
    return $this->belongsToMany(Type::class);
}

}


کد مدل بعدی

class Type extends Model
{
use HasFactory;

protected $fillable = [

    'name',

];

public function orders()
{
    return $this->belongsToMany(Order::class);
}

}


ثبت پرسش جدید

به همدیگه کمک کنیم

به محمد کمک کنید تا مشکل خودش را حل کند؛ این‌طور می‌توانیم با هم پیشرفت کنیم.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام