راکت

مشکل در کد های لاراول

7 پاسخ

@ali.bayat
کد من هم اینه

$valiDate = $this->validate($request, [

            'start_color' => '',
            'end_color' => '',
            'font family' => '',
            'background_color' => '',
            'Previous_Text_Color' => '',
            'next text color' => '',
            'text_color' => '',
        ]);
        $y = auth()->user()->color1()->create([
            'start_color' => $valiDate['start_color'],
            'end_color' => $valiDate['end_color'],
            'font family' => $valiDate['font family'],
            'background_color' => $valiDate['background_color'],
            'Previous_Text_Color' => $valiDate['Previous_Text_Color'],
            'next text color' => $valiDate['next text color'],
            'text_color' => $valiDate['text_color'],
        ]);
        return response([
            'data' => [
                'message' => 'color is registered',
            ],
            'status' => 'success',
            'ID' => $y->id
        ]);
    }

دلیل این ارور چیه؟

Call to undefined method App\\User::color۱()",
ثبت پرسش جدید

پاسخ‌ها

7
رضا جلیلیان
رضا جلیلیان
@rezajalilian

تخصص: لطفا تخصص خود را وارد کنید

خیلی واضح داره بهت میگه که متد color1 رو ‍‍پیدا نمیکنه مدل user هاتو نگا کن ببین اصلا تعریفش کردی تابع رو

mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

داخل مدل User ریلیشن color1 رو تعریف نکردی ولی میخوای ازش استفاده کنی و create کنی!

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

1masoud
1masoud
@masoudproton

تخصص: php,laravel

@abase607
آره تعریف کردم

public function color1()
    {
        return $this->hasMany(ColorModel::class,'admin_id');
    }
نوید
نوید
@navids

تخصص: برنامه نویس Go / Django

public function ColorModel()
    {
        return $this->hasMany(ColorModel::class,'admin_id');
    }

اسم فانکشن با اسم کلاس باید یکی باشه ، در صورتی که یکی نباشن نمیشناسه

بعد هم برای خوانایی کار ، به جای admin_id اسم جدولتو باید بزاری

ColorModel_id

اینطوری کدهات خوانایی بیشتری دارن و نیازی به تعریف پارامتر هم نخواهی داشت

mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

@navids
اسم فانکشن نیازی نیست با اسم کلاس یکسان باشه. خودمون داریم کلاس رو بهش پاس میدیم و اسم فانکشن سرور یه نامگذاری برای رابطه ی بین مدل ها هست.

1masoud
1masoud
@masoudproton

تخصص: php,laravel

@khanzadimahdi
متوجه نشدم الان باید کدم رو چطوری بنویسم

mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

کدت مشکلی نداره! خروجی بگیر ببین auth()->user() خالیه یا پره؟

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

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