我需要在数据库中添加不同语言的行。例如,我有模型Books
,包括字段title
、content
和language_id
。还有一个包含语言信息的模型Languages
。
Schema::create('languages', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('code', 2);
$table->timestamps();
});
Schema::create('books', function (Blueprint $table) {
$table->id();
$table->foreignId('language_id');
$table->string('title');
$table->text('content');
$table->timestamps();
$table->foreign('language_id')->references('id')->on('languages')->onUpdate('cascade')->onDelete('cascade');
});
我创建了一个BookFactory
class BookFactory extends Factory
{
public function definition()
{
return [
'title' => fake()->sentence(rand(3, 7)),
'content' => fake()->sentences(rand(5, 11))
];
}
}
我可以将语言参数传递给
fake()
函数,例如fake('de_DE')
。我该如何将区域设置代码(如de_DE
等)从种子传递到工厂?class DatabaseSeeder extends Seeder
{
public function run()
{
\App\Models\Book::factory(10)->create();
}
}