geo*_*310 16 php laravel laravel-5
有没有办法从PHP内部而不是从命令行运行Laravel 5播种机.我正在使用的托管不允许我使用命令行.只是为了确认我想在我的应用代码中做相同的操作:
php artisan db:seed
Run Code Online (Sandbox Code Playgroud)
Bog*_*dan 21
您可以使用以下方法:
Artisan::call('db:seed');
Run Code Online (Sandbox Code Playgroud)
要获取上次运行命令的输出,您可以使用:
Artisan::output();
Run Code Online (Sandbox Code Playgroud)
elf*_*fif 13
如果需要,您也可以直接调用Seeder类.如果你手动创建了播种机,请确保你做了一个composer dump-autoload.
从那里代码非常简单:
$seeder = new YourSeederClass();
$seeder->run();
Run Code Online (Sandbox Code Playgroud)
小智 7
您可以在运行时向播种机添加参数
例子
$newSchool = School::create($data);
$schoolMeals = new \MealSeeder();
$schoolMeals->run($newSchool->id);
Run Code Online (Sandbox Code Playgroud)
//学校餐
public function run($school = 1)
{
$time = Carbon::now();
App\Meal::create([
'school_id' => $school,
'name' => 'Breakfast',
'slug' => 'breakfast',
'description' => 'Test Meal',
'start_time' => $time->toTimeString(),
'end_time' => $time->addMinutes(60)->toTimeString(),
]);
App\Meal::create([
'school_id' => $school,
'name' => 'Lunch',
'slug' => 'lunch',
'description' => 'Test Meal',
'start_time' => $time->toTimeString(),
'end_time' => $time->addMinutes(60)->toTimeString(),
]);
App\Meal::create([
'school_id' => $school,
'name' => 'Supper',
'slug' => 'supper',
'description' => 'Test Meal',
'start_time' => $time->toTimeString(),
'end_time' => $time->addMinutes(60)->toTimeString(),
]);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7338 次 |
最近记录: |