1
0
mirror of https://github.com/flarum/core.git synced 2025-07-18 15:21:16 +02:00

Allow extensions to add default model attributes

Extensions can add default column values in their migrations, but Eloquent doesn't know about this when it first saves a model to the database.

This is useful in flarum-ext-approval where the default value for is_approved on the posts table is true.
This commit is contained in:
Toby Zerner
2016-05-28 09:37:43 +09:30
parent 40a78d302e
commit c3dfa3560a
2 changed files with 62 additions and 0 deletions

View File

@@ -11,6 +11,7 @@
namespace Flarum\Database;
use Flarum\Event\ConfigureModelDates;
use Flarum\Event\ConfigureModelDefaultAttributes;
use Flarum\Event\GetModelRelationship;
use Illuminate\Database\Eloquent\Model as Eloquent;
use Illuminate\Database\Eloquent\Relations\Relation;
@@ -66,6 +67,22 @@ abstract class AbstractModel extends Eloquent
});
}
/**
* {@inheritdoc}
*/
public function __construct(array $attributes = [])
{
$defaults = [];
static::$dispatcher->fire(
new ConfigureModelDefaultAttributes($this, $defaults)
);
$this->attributes = $defaults;
parent::__construct($attributes);
}
/**
* Get the attributes that should be converted to dates.
*