2014-06-09 8 views
0

안녕하세요 저는 laravel로 움직이기 시작했으며 시더 작업을 할 수없는 것처럼 보입니다. 다음 코드는 자동으로 실패 :Laravel 시더가 자동으로 작동하지 않음

DatabaseSeeder.php

<?php 
class DatabaseSeeder extends Seeder { 
    public function run() 
    { 
     Eloquent::unguard(); 
     $this->call('SettingsTableSeeder'); 
     // $this->call('GenericTableSeeder'); 
     // $this->call('UserTableSeeder'); 
    } 

} 

SettingsTableSeeder.php

<?php 
class SettingsTableSeeder extends Seeder { 

    public function run() 
    { 
     $settings = Settings::create(array(
      'adPriceStandard' => 9 
     )); 
    } 
} 

설정 모델 (Settings.php을) :

<?php 
class Settings extends Eloquent { 
protected $table = 'settings'; 
} 

모델이있다 DB가 제 위치에 있으며 설정 테이블에 액세스 할 수 있습니다. 나는 시더를 돌리고 아무 일도 일어나지 않는다. 나는 멈췄다. 감사!

답변

0

Settings 모델을 게시 할 수 있습니까? 연장 하시겠습니까 Eloquent? Eloquent가 클래스 이름을 기준으로 테이블 settingss을 찾고있을 가능성이 있습니다. 이처럼 Settings 모델에서 테이블의 이름을 설정할 수 있습니다

protected $table = 'settings'; 
+0

좋아, 내 질문에 내 설정 모델을 추가했습니다. –

+0

@TrassVasston DB를 파종 할 때 Artisan 명령'php artisan db : seed'를 실행하고 있습니까? 'SettingsTableSeeder'에있는'run' 메소드가 호출되는지 알고 있습니까? 어쩌면 여기에 에코를 넣어 테스트 해보십시오. –

+0

@AntoineAugisti, Log :: info() 문을 추가했지만 로그에 아무 것도 넣지 않습니다. 그래서 ... 아마 전혀 아무것도하지 않을거야? –

0

이 내 파종기를 작성하는 방법입니다 - 당신과의 약간 다르다 -이 작동하는지;

<?php 
class SettingsTableSeeder extends Seeder { 

    public function run() 
    { 
     $settings = array('adPriceStandard' => 9); 
     DB::table('settings')->insert($settings); 
    } 
} 
0

귀하가 초기 laravel 5.1 빌드를 사용하고 있다고 가정합니다. Eloquent::reguard()이 누락되었습니다. ::create([])을 사용할 때이 기능을 사용하여 추가 한 모든 필드가 fillable인지 확인하십시오. 마이그레이션에 대해서는 docs을 참조하십시오.

ps. 이것은 임의의 추측이므로 설정 클래스의 네임 스페이스를 Settings::create(array(에 포함시킬 수 있습니까? 비록 이러한 문제가 클래스가 예외를 발견하지 못했을 것입니다.

0

이 게시물을 발견하고 유사한 문제가 발생하는 경우 두 가지 사항을 명심해야합니다.

먼저 'composer dump-autoload'를 실행하십시오.

두 번째는 다음 중 하나인지 확인하십시오. ) $ table-> timestamps(); 모델의 데이터베이스 마이그레이션 내부 또는

B) public $ timestamps = false; Model 클래스에서.

$ table-> timestamps(); 그리고 public $ timestamp를 false로 설정하는 것을 잊지 마십시오. db : seed는 자동으로 실패합니다.

위의 문제가 계속되는 경우/test에서 새 경로를 만들고 여기에 Model :: create ([..]) 코드를 포함 시키십시오. 이것에 의해, 가시의 QueryException가 슬로우됩니다.