Amir Alsaeed نشر 23 مايو 2021 أرسل تقرير نشر 23 مايو 2021 لدي مشكلة عند استخدام الدالة $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 Adnane Kadri نشر 23 مايو 2021 أرسل تقرير نشر 23 مايو 2021 يحدث هذا لأن 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 ]; } } اقتباس
السؤال
Amir Alsaeed
لدي مشكلة عند استخدام الدالة $faker يظهر خط أحمر أسفل العبارة ولا يتم التعرّف عليها.
مع أنني قمت بالوراثة من الصف Factory وطبّقت التعليمات:
فلماذا لا يتم التعرّف وتضمين faker هنا؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.