maryam
5 سال پیش توسط maryam مطرح شد
4 پاسخ

خطای در پکیج mattwebsite

سلام
من دارم از پکیج 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);

ثبت پرسش جدید
T.chegini
@t.chegini 5 سال پیش مطرح شد
0

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


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 5 سال پیش آپدیت شد
0

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

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


maryam
@m.momeni9283 5 سال پیش مطرح شد
0

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


Mohammad
تخصص : Back-End developer
@mhmdkavosi 5 سال پیش مطرح شد
0

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

$value['number'];

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

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