3

我已经做了很多尝试来让这个数据库种子工作,但Class 'Account' not found即使我已经在我应该的地方命名了,我仍然得到了。

运行 php artisan db:seed 时会引发错误,$accountOut = Account::create(array(其中 Account 是引发错误的原因。说明使用不正确?如果我要删除所有命名空间,我完全没有问题。

我的 Account.php 文件:

<?php namespace App\Models;

class Account extends \Eloquent {

/**
 * The database table used by the model.
 *
 * @var string
 */
protected $table = 'account';

/**public function user()
{
    return $this-belongsTo('User');
}*/
}

我的种子文件:

<?php

use App\Models;

class TransactionSeeder extends Seeder {

public function run()
{
    DB::table('transaction')->delete();
    DB::table('account')->delete();

    $accountOut = Account::create(array(
        'name'    => 'Checking',
        'origin'  => 'Bank'
    ));

    $accountIn = Account::create(array(
        'name'    => 'Stuff',
        'origin'  => 'Expense'
    ));

    $adminUser  = Sentry::getUserProvider()->findByLogin('admin@admin.com');

    Transaction::create(array(
        'account_id_in'   => $accountIn->id,
        'account_id_out'    => $accountOut->id,
        'amount'    => 300.00
    ));

}

}
4

2 回答 2

5

我觉得真的很愚蠢,但use App\Models你不会喊出来,而是会喊出来use App\Models\Account,它应该可以正常工作。

然后记得跑php composer.phar dump-autoload

于 2013-06-08T23:11:01.763 回答
1

我遇到过类似的问题,并且在我的类前面加上命名空间运算符解决了这些问题。

尝试\Account

于 2013-06-08T22:52:31.233 回答