علیرضا مه آبادی
3 سال پیش توسط علیرضا مه آبادی مطرح شد
2 پاسخ

عدم کارکرد متد count در لاراول 8

درود بر مهندسان همونطور که می دونیددر ورژن جدید php از count پشتیبانی نمی کنه و میشه بجاش از isset یا empty استفاده کنیم .اما من مثلا از isset استفاده می کنم میگه چنین متدی به وجود نیامده و من حقیقتا نمی دونم این متد چگونه داخل CartService.php تعریف کنم. چون این مبحث با استاد موسوی پیش میرم و الان در بخش درگته پرداخت هستم اما count کار نمی کنه و این ارور میده

TypeError
count(): Argument #1 ($value) must be of type Countable|array, null given
http://localhost:8000/payment

میشه یه لطفی کنید انجام بدید خیلی خیلی ممنون میشم الان یک هفتس سر این گیر هستم🙏🙏🙏
این بخش مربوط به درگاه پرداخته داخل PaymentController که count کار نمی کنه
توضیح تصویر رو وارد کنید

واین هم تعریف تابع count داخل Cartservice.php هست
توضیح تصویر رو وارد کنید


ثبت پرسش جدید
Mohammad reza Golshahi
تخصص : Go - Python
@golshahimohammadreza 3 سال پیش مطرح شد
0

سلام دوست عزیز
@aliasgharkashani1379
count() توی php به این صورت هستش

$animals = array(“Bear”, “Leopard”, “Tiger”);

$arrLength = count($animals);

// return 3

و کانتی که توی لاراول هست اشاره میکنه به یکی از توابع که داخل eloquent و مربوط میشع به دیتابیس اگر مثلا بخوای کل تعداد ریزالت دیتابیس خودتونو بگیرید کوئری به این شکل میشه :

MYDB::count()

// return integer

و ارور شما برای اینه که تو تابع خودتون یک مقدار $key وجود داره که شما هنگام صدا زدن تابع count که تعریف کردین اونو ارسال نکردین

و چرا شرط گذاشتید برای جمع مقادیر ؟ نیازی نیست مستقیما به sum اشاره کنید

MYDB::sum(DB::raw('sum(price* quantity) as total'))

علیرضا مه آبادی
تخصص : در حال یادگیری لاراول
@aliasgharkashani1379 3 سال پیش آپدیت شد
0

@golshahimohammadreza
ببخشید متوجه منظورتون نشدم الان دقیقا چیکار کنم و چیو عوض کنم که مشکل حل شه؟
فقط این ارور برای من میاد.
توضیح تصویر رو وارد کنید


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

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