我使用Cartalyst Sentry进行身份验证。当我试图从命令行为我的数据库设定种子时,我得到了这个错误:
[Cartalyst\Sentry\Users\LoginRequiredException]
A login is required for a user, none given.这是我的DatabaseSeeder.php文件:
<?php
class DatabaseSeeder extends Seeder {
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Eloquent::unguard();
$this->call('PriceChangeOccuredTableSeeder');
}
}这是我的PriceChangeOccuredTableSeeder.php文件:
<?php
// Composer: "fzaninotto/faker": "v1.3.0"
use Faker\Factory as Faker;
class PriceChangeOccuredTableSeeder extends Seeder {
public function run() {
DB::table('price_change_occured')->delete();
User::create(array('product_id' => 1, 'owner_id' => 2, 'change_occured' => 1));
}
}这是我的PriceChangeOccured模型
<?php
class PriceChangeOccured extends \Eloquent {
public $table = 'price_change_occured';
}发布于 2016-02-08 04:33:40
如果将登录名从"EMAIL“更改为"USERNAME”,并且一切都很好,那么您也应该更改这些内容:
在您的种子中添加
SentryUserRepository.php UserSeeder扩展了Seeder { protected $admin_email = "admin@admin.com";protected $admin_password = "password";protected $admin_username = "naghipour.me";}和find SentryUserRepository.php
$data =$data( "email“=> $input"email","password”=> $input"password","username“=> $input"username”);
注意:迁移时需要添加用户名文件:
$table->string('username', 100)->unique();每到有电子邮件的地方,你也应该加上用户名。
发布于 2015-01-13 09:14:06
错误提示您没有向该用户添加登录名。因此,您只需根据用户表的工作方式添加登录(或电子邮件)即可。
我假设您的用户表需要电子邮件/登录名和密码。在本例中创建用户时,您没有提供其中的任何内容。
https://stackoverflow.com/questions/27884097
复制相似问题