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:
@@ -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.
|
||||
*
|
||||
|
Reference in New Issue
Block a user