سلام درود وقتی میخوام از فکتوری استفاده کنم این خطا به بنده میده
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 ]); }
سلام مهدی عزیز
از متد 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: [] }
پروژه رو در گیت قرار بدید بررسی بشه.
اقا مشکل حل شد مشکل قرار ندادن return داخل function در بخش Traits بود که حل شد.