Php 表未在Laravel中播种
我正试图在我的表格中添加初始数据,以开始在Laravel4.1中的开发工作,但没有一个是种子 例如,当我在以下系统上运行Php 表未在Laravel中播种,php,laravel,laravel-4,Php,Laravel,Laravel 4,我正试图在我的表格中添加初始数据,以开始在Laravel4.1中的开发工作,但没有一个是种子 例如,当我在以下系统上运行php-artisan-db:seed时,我得到了输出seed:ItemsTableSeeder: use Faker\Factory as Faker; class ItemsTableSeeder extends Seeder { public function run() { $f = Faker::create();
php-artisan-db:seed
时,我得到了输出seed:ItemsTableSeeder
:
use Faker\Factory as Faker;
class ItemsTableSeeder extends Seeder {
public function run()
{
$f = Faker::create();
foreach(range(1, 10) as $index)
{
$price = round(rand(5, 100) + (rand(0, 99) / 10), 2);
$name = $f->sentence(6);
$shortname = explode(' ', $name, 3);
Item::create([
'sku' => strtoupper(str_random(16)),
'name' => $name,
'shortname' => implode(' ', array_slice($shortname, 0, 3)),
'stock' => rand(0, 100),
'price' => $price,
'cost' => round($price / rand(2, 3), 2),
'weight' => rand(0, 20) + (rand(1, 9) / 10),
'width' => rand(1, 20),
'height' => rand(1, 20),
'length' => rand(1, 20),
'size' => array_rand(['Standard', 'Oversized'], 1),
'enabled' => 'Y'
]);
}
}
}
然而,MySQL工作台中的快速选择显示表仍然是空的。我将此设置设置为在任何其他表之前进行种子设定,因为
items
之后的表必须执行查找以引用该表中的项ID,才能创建自己的种子。当他们找不到任何项目ID时,它会在此之后中断其余的种子。在bootstrap/start.php
中的detectEnvironment()
设置没有被正确覆盖,因此在默认的app/config/database.php
文件中默认为sqlite
。正在默认sqlite数据库文件中进行种子设定
我使用了
dev
而不是local
作为开发服务器的密钥。对于将来来到这里的用户:
您需要将正在创建的每个seeder类添加到DatabaseSeeder.php,如下所示:
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
// Add every single seeder class here
$this->call(UserSeeder::class);
$this->call(NewsSeeder::class);
}
}
就连我也遇到了这个问题。只需打开数据库并手动输入数据