🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۵ Mahdi Haghighi
خطا در استفاده از فکتوری
جامعه لاراول ایجاد شده در ۱۷ خرداد ۱۴۰۲

سلام درود وقتی میخوام از فکتوری استفاده کنم این خطا به بنده میده

App\\Models\\Like::factory()->create()
   Error  Class name must be a valid object or a string.

این هم کدی هست که داخل فکتوری در حال استفاده هستم


public function definition(): array
    {
        $likeable = $this->likeable();
        return [
            'user_id' => User::first() ?? User::factory(),
            'likeable_type' => $likeable,
            'likeable_id' => $likeable::factory(),
            'vote' => $this->faker->randomElements([1,-1])
        ];
    }
    public function likeable() 
    {
        return $this->faker->randomElements([
            Video::class,
            Comment::class
        ]);
    }
Mahdi Haghighi ۱۷ خرداد ۱۴۰۲، ۱۵:۲۵

سلام مهدی عزیز

از متد likeable یک دامپ بگیر ببین نام کلاس رو به درستی برمیگردونه.

احمدرضا فاطمی کیا ۱۸ خرداد ۱۴۰۲، ۰۹:۴۲


سلام درود بله به درستی برمیگردونه حالا چه کنیم ؟

Illuminate\\Database\\Eloquent\\Relations\\MorphTo {#456 ▼ // routes/web.php:67
  #query: Illuminate\\Database\\Eloquent\\Builder {#455 ▶}
  #parent: App\\Models\\Like {#453 ▶}
  #related: App\\Models\\Like {#453 ▶}
  #eagerKeysWereEmpty: false
  #child: App\\Models\\Like {#453 ▶}
  #foreignKey: "likeable_id"
  #ownerKey: null
  #relationName: "likeable"
  #withDefault: null
  #morphType: "likeable_type"
  #models: null
  #dictionary: []
  #macroBuffer: []
  #morphableEagerLoads: []
  #morphableEagerLoadCounts: []
  #morphableConstraints: []
}



Mahdi Haghighi ۲۳ خرداد ۱۴۰۲، ۱۷:۳۷

پروژه رو در گیت قرار بدید بررسی بشه.

بهترین پاسخ
احمدرضا فاطمی کیا ۲۴ خرداد ۱۴۰۲، ۰۶:۴۸

اقا مشکل حل شد مشکل قرار ندادن return داخل function در بخش Traits بود که حل شد.

Mahdi Haghighi ۲۴ خرداد ۱۴۰۲، ۰۷:۳۸