Php 在Laravel 4中,如何在每个环境中使用不同的播种机?
我有一个简单的问题,但我还没有在网上找到答案。也许我的关键词是假的 因此,我正在开发一个应用程序在拉威尔4。我需要根据当前的活动环境使用不同的值为数据库种子 例如,如果我在本地环境中,我需要测试数据等等。但是当我在生产环境中时,我只希望有一个管理员用户 Laravel有内置的解决方案吗Php 在Laravel 4中,如何在每个环境中使用不同的播种机?,php,laravel,laravel-4,eloquent,seeding,Php,Laravel,Laravel 4,Eloquent,Seeding,我有一个简单的问题,但我还没有在网上找到答案。也许我的关键词是假的 因此,我正在开发一个应用程序在拉威尔4。我需要根据当前的活动环境使用不同的值为数据库种子 例如,如果我在本地环境中,我需要测试数据等等。但是当我在生产环境中时,我只希望有一个管理员用户 Laravel有内置的解决方案吗 如果没有,如何检查app/seeds/DatabaseSeeder.php文件中哪个环境处于活动状态。因此,我可以根据环境调用不同的播种器。对于不同的环境,没有您想要的内置处理程序 解决方案 在seeder类中,
如果没有,如何检查
app/seeds/DatabaseSeeder.php
文件中哪个环境处于活动状态。因此,我可以根据环境调用不同的播种器。对于不同的环境,没有您想要的内置处理程序
解决方案
在seeder类中,您应该能够使用来检测环境,并基于此执行逻辑
您可以将其添加到每个表播种器类中,或文件中:
或者
考虑在app/config/database.php
文件中添加多个数据库连接。通过这种方式,您可以从同一环境中的多个连接填充数据库,而不是按环境进行种子设定(该环境仍然可以更改,但有2个或更多单独的数据库连接)
如果这符合您的用例,请参阅我的。谢谢。)它帮助了我。
public function run()
{
Eloquent::unguard();
if( App::environment() === 'development' )
{
$this->call('UserTableSeeder');
}
}