راکت

خطای در پکیج mattwebsite

4 پاسخ

سلام
من دارم از پکیج maatwebsite برای ایمپورت کردن فایل اکسل به دیتابیس استفاده میکنم
منتهی بعد از دریافت داده ها از فایل و قرار دادن اونا در یک آرایه این خطارو میگیرم.
Trying to get property 'number' of non-object
میشه لطف کنید راهنمایی کنید چطور این خطا رو میشه برطرف کرد.

   $data =  Excel::toArray(new DiscountsImport,$request->file('file'));

        if(!empty($data ) && $data != null){
            foreach ($data as $key => $value) {
                    if( $value != null && count($value) > ۰){

                            $insert[] = ['number' => $value->number,
                                'code' => $value->code,'price'=>$value->price];

                          }

            }
            if(! empty($insert))
                DB::table('discounts')->insert($insert);
         //Discount::insert($insert);
            //DB::table('discounts')->insert($insert);
maryam
maryam
@m.momeni9283
ثبت پرسش جدید

پاسخ‌ها

4
T.chegini
T.chegini
@t.chegini

سلام.
یعنی الان number شما مقدار نداره. چند دلیل ممکنه داشته باشه:
شما احتمالا بین مدل هاتون ارتباط دارید، یعنی کلید اصلی و خارجی براشون تعریف کردید در حالی که توی داده های تو جداولتون این رابطه درست نیست. یعنی یه مقداری دارید که تو جدول اصلی که کلید اصلیه، اون مقدار وجود نداره.
یا ممکنه مشکل از مدل ها و نحوه دسترسی به number باشه.

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

ارور مربوط به خطی هست که گفتید :
$value->number;

و داره میگه $value چنین property نداره. پس یکبار اون رو die and dump کنید ببینید داخلش چه خبره:
dd($value)

شاید پاسخ شما همین‌جا باشد

maryam
maryam
@m.momeni9283

سلام
داخل$value محتویات فایل اکسل هستند
@mhyeganeh

Mohammad
Mohammad
@mhmdkavosi

تخصص: Back-End developer

سلام فک میکنم چون دیتا رو تبدیل به ارایه کردین و به صورت ابجکت باهاش برخورد کردین مشکل به وجود اومده.
مقدار رو به این صورت دریافت کنین شاید مشکل حل شد.

$value['number'];

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

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