💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ Mehrjoo
کار نکردن فیکر
جامعه لاراول ایجاد شده در ۰۵ مهر ۱۴۰۳

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

App\Models\Comment::factory()->create()
Call to undefined method Database\Factories\CommentFactory::fake()
<?php
namespace Database\Factories;
use App\Models\Comment;
use App\Models\User;
use App\Models\Video;
use Illuminate\Database\Eloquent\Factories\Factory;
/**
 * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Comment>
 */
class CommentFactory extends Factory
{
    /**
     * Define the model's default state.
     *
     * @return array<string, mixed>
     */
     protected $model = Comment::class; این خط رو نداشت من اضافه کردم
    public function definition(): array
    {
        return [
            'user_id' => User::factory(),
            'video_id' => Video::first() ?? Video::factory(),
            'body' => $this->fake()->realText(),
        ];
    }
}

 

اگ متن خالی جای بادی بزارم اجرا میشه ولی با تابع فیک کار نمیکنه

سلام

در ورژن جدید به این شکل باید استفاده کنید تابع رو:

fake()->realText()

 

احمدرضا فاطمی کیا ۰۶ مهر ۱۴۰۳، ۲۰:۰۸

سلام . من هم همین رو نوشتم توی کد . خطا میده که اصلا fake رو نمی‌شناسه

Call to undefined method Database\Factories\CommentFactory::fake()
Mehrjoo ۲۱ مهر ۱۴۰۳، ۱۱:۵۵

سلام. وقت بخیر

خطا مربوط به این هست که شما دارید fake رو از آبجکت کامنت فکتوری کال می‌کنید. 

در صورتی که fake یک تابع helper هست و باید بدون استفاده از this کال بشه. 

که یک دسترسی به Fake Library میده به شما.

به این صورت: 

fake()->realText()

 

مصطفی زارعی ۲۵ مهر ۱۴۰۳، ۰۵:۲۵