Initialize
Mark a trait method as a model initialize hook
Description: Marks a trait method as a model initialize hook. The method is automatically called when a new model instance is created.
Namespace: Illuminate\Database\Eloquent\Attributes\Initialize
Usage
use Illuminate\Database\Eloquent\Attributes\Initialize;
use Illuminate\Database\Eloquent\Model;
trait HasDefaultStatus
{
#[Initialize]
public function initializeHasDefaultStatus(): void
{
$this->attributes['status'] ??= 'draft';
}
}
class Post extends Model
{
use HasDefaultStatus;
}