我遵循了Jeffrey Way的解释以及其他一些博客文章和文章,但仍无法使其发挥作用。
我想在Laravel之外使用Eloquent ORM。我已将要求纳入composer.json
:
"illuminate/database": "v5.*",
"illuminate/events": "v5.*",
然后我实例化了Capsule Manager:
$db = new Illuminate\Database\Capsule\Manager();
$db->addConnection($config['database']);
$db->setEventDispatcher(new Illuminate\Events\Dispatcher(new Illuminate\Container\Container));
$db->setAsGlobal();
$db->bootEloquent();
我已经构建了一个扩展Eloquent模型的基本用户模型:
use Illuminate\Database\Eloquent\Model as Eloquent;
class User extends Eloquent
{
public $incrementing = false;
protected $primaryKey = 'username';
protected $keyType = 'string';
}
现在我可以按预期创建一个新用户:
$u = new User([
'username' => $username,
'fullname' => $fullname,
'role_id' => $role_id,
]);
$u->save();
这就像魅力一样,用户可以在预期的users
表中显示,但我无法通过任何这些方法检索用户,我的回复始终为null
:
$user = User::find('foo'); // no dice
$user = User::where('username', 'foo')->get(); // nope
$user = User::first(); // nothing
有谁知道为什么我不能使用Eloquent模型附带的静态方法?或者更好的是,如何解决这个问题?