- What is inisiatif/model-shared used for in Laravel?
- It provides shared Eloquent models used at Inisiatif Zakat Indonesia for reference data such as occupation, education level, marital status, and geographic areas from country down to village, plus Donor-related models. It is intended for applications in that ecosystem, not as a general-purpose Laravel package. It also helps attach branch and employee relations to the Donor model through dynamic relations.
- How do I install inisiatif/model-shared with Composer?
- Run composer require inisiatif/model-shared in your Laravel application. The README shows that command as the installation step and does not document a separate config publish step. After installation, review what the package service provider registers before building features on it.
- Which Laravel versions does inisiatif/model-shared support?
- The README does not state Laravel or PHP version constraints, so check the require section in the package composer.json before installing. The package has no public support SLA, so test against your application's exact Laravel and PHP versions. Do not assume compatibility from the README alone.
- How do I add branch and employee relations to the Donor model?
- Use Laravel's resolveRelationUsing() in a service provider boot method, as shown in the README. Define branch as a belongsTo relation using your app's Branch model and branch_id, and employee as a belongsTo relation using your Employee model and the employeeid column. Adjust the model classes and foreign keys to match your schema.
- Does inisiatif/model-shared automatically register and run migrations?
- The package registers migrations through its service provider, so its tables can be created by your application's normal migrate command. This means package migrations run in the host app's migration order and table-name collisions or rollback ordering must be verified. The package also has a history of migration-check and table-name fixes, so test migrate and migrate:fresh carefully.
- Can I customize table names or override the package models?
- The README is minimal and focuses on installation and Donor dynamic relations; it does not document configuration for table names or model overrides. Treat the shipped schema and models as opinionated and review the source before relying on customization. If you need different table names, plan for migration and model changes in your own application rather than assuming package config exists.
- What should I check before using inisiatif/model-shared in production?
- Confirm exactly what the service provider registers on boot, including migrations, routes, config, or commands. Verify that schema changes added in patch releases ship as new migration files and are safe on an existing database. Also check table-name collisions, rollback behavior, identity key types, and the undocumented region search API before depending on the package.
- Is inisiatif/model-shared actively maintained and tested?
- The repository shows releases and dependency/action bumps, but meaningful test coverage is not evident from the available information. The package has very low public adoption and no external consumers or support channel noted. Assume your host application's test suite is the main safety net and review releases for semver discipline.
- What is the region search API in inisiatif/model-shared?
- Version 2.5.0 added a region search API, which implies the package may register routes or controllers in addition to models and migrations. The README excerpt does not document the route prefix, middleware, or throttling. Verify the registered routes and secure or disable them if your application does not need them.
- What are alternatives to inisiatif/model-shared for Laravel?
- There is no drop-in general-purpose equivalent for this exact Inisiatif Zakat Indonesia schema, so alternatives depend on your need. For a non-Inisiatif application, define your own Eloquent models and migrations or evaluate a dedicated Indonesian geographic-data package instead of adopting this domain package wholesale. Use inisiatif/model-shared only when its opinionated zakat/charity schema matches your application.