I'm receiving the following error using the PHP code below, can anyone help? The problem seems to occur when adding the EventDispatcher to Capsule. The validation library is then able to bind to the model's 'saving' event. At some point an error occurs, but because the error reports it's location as in Facade.php I'm having trouble tracing the original error.
Fatal error: Call to a member function until() on a non-object in /var/www/vhosts/temp/validatortest/vendor/illuminate/support/Illuminate/Support/Facades/Facade.php on line 211
File: composer.json
{
"require": {
"illuminate/database": "4.2.9",
"watson/validating": "0.10.*"
},
"minimum-stability": "stable"
}
File: test.php
<?php
require 'vendor/autoload.php';
use Illuminate\Database\Capsule\Manager as Capsule;
use Illuminate\Events\Dispatcher;
use Illuminate\Container\Container;
class User extends \Watson\Validating\ValidatingModel
{
}
$capsule = new Capsule;
$capsule->addConnection([
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'database',
'username' => 'username',
'password' => 'password',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
]);
$capsule->setEventDispatcher(new Dispatcher(new Container));
$capsule->bootEloquent();
$user = new User;
$user->email = time().'@example.com';
$user->password = 'password';
$user->save();
The following SQL command will create the necessary table if you want to try and reproduce the error:
CREATE TABLE `users` (
`id` int unsigned NULL AUTO_INCREMENT PRIMARY KEY,
`email` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL
) COMMENT='' ENGINE='InnoDB';