سلام دوستان من میخام بررسی کنم با دستور زیر که ببینم محصول داخله سبد خریدم هست یا نه؟
if(array_key_exists($product->id,$cart->products))
{}
اما با خطای
array_key_exists(): Argument #2 ($array) must be of type array, Illuminate\Database\Eloquent\Collection given
مواجه میشم و وقتی از $cart->products میام و dd میگیرم مقدار
^ Illuminate\Database\Eloquent\Collection {#1342 ▼
#items: array:8 [▶]
#escapeWhenCastingToString: false
}
رو بهم میده حالا چجوری میتونم به هشتا مقدار این بصورت ارایه دسترسی داشته باشم که تابع array-key-exist خطا ازم نگیره؟؟
بِسْمِ ٱلْلّٰهِ ٱلْرَّحْمٰنِ ٱلْرَّحِیْم
ٱلْحَمْدُ لِلّٰهِ
سلام
اون یک collection هست و متدهای مفیدی و باحالی هم داره که خوب بدرد میخوره و آرایه هم نیست
و دراصل نیز وقتی بخوای کل محصولات یا چند محصول را به عنوان collection دریافت کنی ، در اصل آرایه چندبعدی هست، و به قول دیگه آرایه ای از آرایه ها(محصولات) هستش که باز خود هرآرایه(محصول) کلیدها و مقادیری(ویژگی های محصول) دارد
با contains متد در collection و قراردادن کلید و مقدار موردنظر واسه اینکه پیدابشه داخل محصولات در نظر خواهد گرفت
و اگر پیدا شد true برمیگرداند
واگر پیدا نشد false برمیگرداند
و متد containsStrict مثل متد بالا هست اما اینجا از === به جای == واسه بررسی انطباق مقدار استفاده میشه و سخت گیر تر هم هست
از این کد استفاده کن
if( $cart->products->contains('id', $product->id) ) {
// there is product id among products
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟