Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Troba Laravel Package

scandio/troba

Troba is a lightweight Laravel package from Scandio for adding database-backed search to Eloquent models. It provides a simple searchable trait and query helpers so you can find records without an external search service, keeping setup minimal and search logic close to your models.

Deep Wiki
Context7

troba is a easy to use and extensible PHP (5.5) entity and query manager based on PDO

Frequently asked questions about Troba
Is scandio/troba a Laravel package or a standalone PHP entity manager?
Troba is best understood as a standalone, PDO-backed entity and query manager rather than a Laravel-native package. The evaluation notes no service provider, facade, or queue/event hooks, so its responsibility set overlaps Eloquent instead of integrating with it. In a greenfield Laravel app that overlap makes it a poor architectural fit, though it can be isolated for a narrow read-mostly reporting module or an inherited legacy codebase.
Which Laravel and PHP versions can I use with scandio/troba?
The package targets PHP 5.5-era idioms and is not validated on PHP 8.x, while current Laravel releases require PHP 8.1 or newer. That means adoption usually requires pinning an end-of-life runtime or forking and patching removed functions and legacy PDO assumptions. Test against your framework's minimum versions before committing.
How do I install scandio/troba in a Laravel project?
It is Composer-installable, so installation starts with a normal composer require, but there is no Laravel auto-discovery or service provider to register. You will need to bind a Troba session or entity manager yourself, ideally around Laravel's existing PDO connection. Because the package is archived, vendor or fork it rather than relying on an active upstream release.
Can Troba coexist with Eloquent in the same Laravel application?
Coexistence is technically possible, but it means maintaining two competing persistence models, hydration strategies, and transaction semantics. Bind Troba to Laravel's existing PDO via DB::connection()->getPdo() so you do not create a second connection pool, and keep Laravel's transaction wrapper authoritative. Keep the boundary narrow and wrap Troba calls behind repository interfaces so application code does not import Troba types.
What are the production risks of depending on an archived package like Troba?
The evaluation rates technical risk as high: the project is archived, has roughly 11 stars, and shows no security response, issue triage, or release cadence. An unmaintained dependency is a standing CVE and dependency-resolution liability that can fail automated vulnerability gates. There is also a single-maintainer bus factor and very little public documentation, so subtle ORM behavior may surface late in production.
How do I migrate an existing Troba codebase to Eloquent?
Treat it as a strangler-fig migration rather than a rewrite: freeze the version, vendor it, fork under your organization with a security-patch branch, and add it to your SBOM. Wrap every Troba call behind domain repository interfaces and build an Eloquent or Doctrine implementation behind the same contracts. Migrate aggregate by aggregate with dual-run result diffing in staging, cut over per module, and never change entities and queries in the same step.
Does Troba support relations, lazy loading, and transactions like Eloquent?
Troba provides its own base entity class, a fluent query builder, and only limited relation and lazy-loading support. Its ORM semantics, including identity map, dirty tracking, and partial hydration, are subtle and less battle-tested in Laravel applications. If you use it, verify that its transaction API does not nest badly inside DB::transaction before relying on it.
What alternatives should I consider instead of Troba for Laravel?
For most Laravel applications, Eloquent query scopes and local scopes cover simple database-backed search without an external service. If you need full-text search, Laravel Scout with a database, Meilisearch, or Algolia driver is the idiomatic route. For entity management outside Eloquent, evaluate Doctrine or raw DBAL rather than adopting an archived PHP 5.5-era package.
How should I test a Troba integration before adopting it?
Establish golden-file regression tests on the paths you intend to keep before making any changes. Add PHPStan and a coverage baseline, then benchmark Troba against Eloquent on your actual query mix to validate any fast, no-magic claim. In migration, use parity tests and dual-run result diffing in staging before cutting over each module.
Is Troba maintained, and who owns fixes if we fork it?
The evaluation describes Troba as archived with effectively no user base, no release cadence, and no security response. If you must use it, assign an explicit owner for the fork, a patch budget, and a security response process, and confirm the license and redistribution terms first. Otherwise, treat the archived dependency as a reason to reject it for new development.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
dakiquang/laravel-oauth-refresh-lock
woda/laravel-worktrees
dalefranks/ramasite
faghy/laracashbook
roundly-consulting/google-places-for-laravel
roundly-consulting/kubernetes-api-for-laravel
roundly-consulting/plausible-for-laravel
gvp/gvp-laravel-template
metasyncsite/laravel-metasync-client
roundly-consulting/onboarding-for-laravel
andydefer/laravel-notification
adachsoft/cli-process-tester
jhaskell13/laraflow
sebastienheyd/boilerplate-media-manager
ccast/tagixo-primix
pretendtrue/laravel-builder
sawmainek/laravel-scout-tntsearch-driver
tomshaw/laravel-calendar-table
dibakar/laravel-ownership
adachsoft/changelog-linter