سلام خسته نباشید من میخام یک فرم رو توی دیتابیس ثبت بکنم از رابطه چند به چند هم استفاده میکنم ولی این ارور را دریافت میکنم
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);
}
}
به محمد کمک کنید تا مشکل خودش را حل کند؛ اینطور میتوانیم با هم پیشرفت کنیم.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟