• 0

مشكلة أثناء استخدام faker في لارافل

لدي مشكلة عند استخدام الدالة $faker يظهر خط أحمر أسفل العبارة ولا يتم التعرّف عليها.

مع أنني قمت بالوراثة من الصف Factory وطبّقت التعليمات:

<?php

namespace Database\Factories;

use App\Models\Book;
use Illuminate\Database\Eloquent\Factory;
use Faker\Generator as faker;
use Illuminate\Support\Facade\Route;

class BookFactory extends Factory {

	protected $model = Book::class;
	
	public function definition(){

		\App\Models\Book::factory()->define;
		return [
		'book_id'=>$faker->numberBetween(1,50),
		'title'=>$faker->word
		]
	}

}

فلماذا لا يتم التعرّف وتضمين faker هنا؟

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

يحدث هذا لأن faker غير معرف أساسا كمتغير و من المفروض إستخدامه كنسخة من الكائن Faker .

و للعلم فإنه قد تم تعريفه كخاصية في النسخ الأخيرة من لارافل و قد تم ضمه إلى الكائن Factory الذي ترث منه , فما عليك إلا إستعمال هاته الخاصية مباشرة عن طريق الكلمة المفتاحية $this على هذا النحو : 

$this->faker->numberBetween(1,50);

كا أنه لا داعي من هذا السطر : 

\App\Models\Book::factory()->define;

فأنت تقوم بالفعل بإرفاق المودل المرافق عن طريق الخاصية المحمية model . 

فيكون الكود كاملا : 

<?php 


namespace Database\Factories;

use App\Models\Book;
use Illuminate\Database\Eloquent\Factory;

class BookFactory extends Factory {

	protected $model = Book::class;
	
	public function definition(){
		return [
		'book_id' => $this->faker->numberBetween(1,50),
		'title' => $this->faker->word
		];
	}

}

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن