اذهب إلى المحتوى
  • 0

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

Amir Alsaeed

السؤال

لدي مشكلة عند استخدام الدالة $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 هنا؟

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

Recommended Posts

  • 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
		];
	}

}

 

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

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...